http://d.hatena.ne.jp/pmjgda/20100204/1265266348
つづき。
<?php // ---- require ---- define('DIR_PEAR', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'PEAR' . DIRECTORY_SEPARATOR); set_include_path(get_include_path() . PATH_SEPARATOR . DIR_PEAR); require_once(DIR_PEAR . 'Mail.php'); require_once(DIR_PEAR . 'Mail/mime.php'); // ============================================== // ---- ini set ---- ini_set('memory_limit', -1); ini_set('max_execution_time', 0); // ---- define ---- define('DIR_GOMI', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'gomi' . DIRECTORY_SEPARATOR); define('SMTP_SERVER' , '????'); define('SMTP_PORT' , '465'); define('SMTP_TIMEOUT', '30'); define('SMTP_USR' , '????'); define('SMTP_PWD' , '????'); // ---- init ---- $mail_to = '????'; $mail_from = '????'; $mail_sbj = 'test dayo'; $mail_body = 'takusan no file'; // ---- attach ---- $param_smtp = array( 'host' => 'tls://' . SMTP_SERVER ,'port' => SMTP_PORT ,'auth' => true ,'debug' => false ,'username' => SMTP_USR ,'password' => SMTP_PWD ); $param_head = array ( 'To' => $mail_to ,'From' => $mail_from ,'Subject' => $mail_sbj ); $param_body = array( 'head_charset' => 'ISO-2022-JP' ,'text_charset' => 'ISO-2022-JP' ); $obj_mime = new Mail_Mime("\n"); $obj_smtp = Mail::factory('smtp', $param_smtp); $obj_mime->setTxtBody($mail_body); //for ($i = 0; $i < 915545; $i++) { for ($i = 0; $i < 100000; $i++) { $file_path = DIR_GOMI; $zero_pad = str_pad('' . $i, 9, '0', STR_PAD_LEFT); $file_path .= substr($zero_pad, 0, 3); $file_path .= DIRECTORY_SEPARATOR; $file_path .= substr($zero_pad, 3, 3); $file_path .= DIRECTORY_SEPARATOR; $file_path .= substr($zero_pad, 6, 3); $file_path .= DIRECTORY_SEPARATOR; $file_path .= 'a.txt'; if ($obj_mime->addAttachment($file_path) !== true) { die($i); } unset($file_path); unset($zero_pad ); } $obj_body = $obj_mime->get($param_body); $obj_head = $obj_mime->headers($param_head); // ---- send ---- $flg = $obj_smtp->send($to_addr, $obj_head, $obj_body); if (PEAR::isError($flg)) { echo "ng\n"; } else { echo "ok\n"; }
■実行
php -f send.php
■memo
・実行してから寝る。
・100000ファイル送受信できた。
・けど、やめたほうがいい。