【问题标题】:How to I include PHPMailer in a loop for bulk emails?如何在批量电子邮件的循环中包含 PHPMailer?
【发布时间】:2020-05-02 21:05:38
【问题描述】:

我在 2020 年 5 月在这里使用 PHPMailer v6.1.5,并且我通过 cPanel 在共享的 GoDaddy 服务器上。我已将所有 PHPMailer 文件复制到它们自己的根目录之外的目录中。我可以一次发送一封电子邮件就好了。但是当我进入一个循环,发送 4 到 10 封电子邮件时,它就崩溃了(关于意外的“使用”)。我相信我不能在我的情况下使用 Composer。关于如何让它循环工作的任何想法?抱歉.. 但是几年前 Stackoverflow 中有很多这样的问题.. 但在我的情况下似乎没有一个。

所以这是我的代码............

$path = '/home/myrootdirectory/public_html/PHPMailer/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);

// load all the PHPMailer classes
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require $path . '/src/Exception.php';
require $path . '/src/PHPMailer.php';
require $path . '/src/SMTP.php';

$mail = new PHPMailer(true);
$mail->From = $fromEmail;
$mail->FromName = $fromFullName;
$mail->addAddress($toEmail, $toFullName);
$mail->addBCC("admin@mycompany.com");
if ($fromSenderCopyYN=="Y") {
    $mail->addBCC($fromEmail);
}

// Send HTML or Plain Text email
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $msg;
$mail->AltBody = $txtmsg;
if(!$mail->send()) { 
   // OK
}else{
   // Not OK
}

==================================

任何帮助将不胜感激。

【问题讨论】:

  • 如果本地可以运行PHP,可以使用composer。要有效地发送到列表,请查看 PHPMailer 提供的邮件列表示例。

标签: loops installation phpmailer bulk manual


【解决方案1】:

好吧,我解决了..我在循环开始之前放了以下代码..

$path = '/home/myrootdirectory/public_html/PHPMailer/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

然后改了

require $path . '/src/Exception.php';
require $path . '/src/PHPMailer.php';
require $path . '/src/SMTP.php';

require_once $path . '/src/Exception.php';
require_once $path . '/src/PHPMailer.php';
require_once $path . '/src/SMTP.php';

现在很好用。

【讨论】:

  • 所有多余的代码都是你应该学习如何使用composer的原因。
猜你喜欢
  • 1970-01-01
  • 2018-09-29
  • 1970-01-01
  • 1970-01-01
  • 2020-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-20
相关资源
最近更新 更多