我正在發送正在工作的大量電子郵件,但需要很長時間。我只把這封電子郵件發送給了10個用戶,大約需要2分鐘。我必須發送超過10000個用戶的電子郵件。什麼是更快發送電子郵件的另一種方式?我正在使用PHPMailer。你能幫我嗎?如何使用php在更短的時間內發送批量電子郵件?
的index.php
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="process.php?key=createmail2" method="POST">
<input type="text" name="emailtemplate" placeholder="email" >
<input type="text" name="subject" placeholder="subject">
<textarea name="mailbody" placeholder="mail body"></textarea>
<input type="submit" name="addmail" value="Add mail" >
</form>
</body>
</html>
Process.php
<?php
include('mail/PHPMailerConfig.php');
switch($_GET['key']) {
case 'createmail2':createmail2($conn);break;
default : redirect('index.php');
}
function createmail2(){
$array=explode(",",$_POST['emailtemplate']);
$arrlength = count($array);
$subject=$_POST['subject'];
$mailbody=$_POST['mailbody'];
send($array,$arrlength, $subject, $mailbody);
}
?>
PHPMailerConfig.php
<?php
require_once('PHPMailerAutoload.php');
function send($array,$arrlength, $subject, $mailbody){
$mail = new PHPMailer;
$mail->IsSMTP();
$mail->SMTPDebug = 0;
$mail->Debugoutput = 'html';
$mail->Host = '*****';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "************";
$mail->setFrom('[email protected]', 'Teseting for email');
$mail->Subject = $subject;
$mail->Body =$mailbody;
for($x = 0; $x < $arrlength; $x++)
{
$mail->addAddress($array[$x]);
if (!$mail->send())
{
echo "Mailer Error (" . str_replace("@", "@", $array[$x]) . ') ' . $mail->ErrorInfo . '<br/>';
break; //Abandon sending
}
else
{
echo "mail sent to : " . $array[$x] ;
}
$mail->clearAddresses();
}
}
如果您從Gmail發送郵件,您將無法發送那麼多郵件。他們有10或20個我認爲的限制。改爲使用服務,如亞馬遜,MailChimp或類似的。 –
不,我不是從Gmail發送的。 –
我會更新它。 –