Php 如何使用持久SMTP连接

Php 如何使用持久SMTP连接,php,codeigniter,smtp,persistent,Php,Codeigniter,Smtp,Persistent,我有一个PHP应用程序,它使用CodeIgniter电子邮件库类通过SMTP协议发送数千封电子邮件。问题是,对于发送的每封电子邮件,它都使用与SMTP服务器的新连接。在这种情况下,如何使用持久连接 例如,假设我发送了1000封电子邮件,然后再次进行身份验证,再发送1000封电子邮件,以此类推。尝试在电子邮件类中使用“密件抄送批处理模式” 更多信息请参见此处:因为我没有阅读您的代码,我将发布他们在文档中添加的代码 $this->email->clear() 将所有电子邮件变量初始化为空状态。如果在

我有一个PHP应用程序,它使用CodeIgniter电子邮件库类通过SMTP协议发送数千封电子邮件。问题是,对于发送的每封电子邮件,它都使用与SMTP服务器的新连接。在这种情况下,如何使用持久连接

例如,假设我发送了1000封电子邮件,然后再次进行身份验证,再发送1000封电子邮件,以此类推。

尝试在电子邮件类中使用“密件抄送批处理模式”


更多信息请参见此处:

因为我没有阅读您的代码,我将发布他们在文档中添加的代码

$this->email->clear()

将所有电子邮件变量初始化为空状态。如果在循环中运行电子邮件发送功能,允许在循环之间重置数据,则可使用此功能

foreach ($list as $name => $address)
{
    $this->email->clear();

    $this->email->to($address);
    $this->email->from('your@example.com');
    $this->email->subject('Here is your info '.$name);
    $this->email->message('Hi '.$name.' Here is the info you requested.');
    $this->email->send();
}
如果这对你不起作用,我还有一个比内置邮件类更合适、更诚实的方法,试着使用能解决你大部分问题的库。

像这样简单:

忘记CI的电子邮件库吧,除非你有耐心改变类的核心。。。作为一个好的替代方法,使用PHPMailer类,将其放入CI/应用程序/库中,然后只需将属性$SMTPKeepAlive设置为true,执行您想要执行的操作,然后调用SmtpClose()

我在这里使用CI有一个很好的实现,我将SMTP服务器保存在数据库中,并且所有邮件都通过我编写的模型“ezified”


Rgds

我无法使用bcc\u批处理\u模式。每封电子邮件都是唯一的,没有密件抄送地址可供使用。我只是想避免对发送的每封电子邮件执行SMTP身份验证步骤。偶尔使用身份验证是可以的,但不是针对每封电子邮件。没有其他人可以访问您本地主机上的文档-我认为这是我稍后可能尝试使用Swift mailer库的同一页面,但目前,我正在寻找使用当前CodeIgniter电子邮件库的解决方案。我不知道这个功能(email->clear)如何帮助我实现持久的SMTP连接。我的目标是加快电子邮件发送使用SMTP。类似于phpmailer库类的SMTP保持活动功能。是。我已经在我的电子邮件发送代码中使用了该功能。它不能帮助我实现持久的SMTP连接