繁体   English   中英

发送电子邮件时保持登录到SMTP服务器

[英]Remain logged in to SMTP server while sending out emails

我有一个网站,可以让用户有机会订阅新闻通讯。

用户输入电子邮件后,我想向他们发送一封确认电子邮件,其中包含带有令牌的链接。 与往常一样,一旦用户单击链接,便会确认他们的电子邮件并将其添加到我的订户数据库中。

我已使用以下步骤通过PHPMailer成功实现了这一点:

  1. 在主机上创建一个电子邮件帐户(例如,地址noreply@myhost.com)
  2. 在我的PHP代码上,当我想从该电子邮件地址发送电子邮件时,请使用“本地主机”作为域名以及用户名和密码(在步骤1中创建电子邮件帐户时所用的用户名和密码)进行SMTP登录。
  3. 发送电子邮件。

当用户单击“订阅我们的新闻通讯”按钮时,他会看到一个加载图标,并收到一条消息,告诉他检查收件箱。 步骤2(SMTP登录)花费了最多时间从PHP执行。

有什么方法可以保留在SMTP帐户中的登录状态,并在用户请求订阅时事通讯时仅发送电子邮件以减少加载时间(并可能减少服务器负载)?

听起来你太杀了。 无需每次登录。 使用PHPMailer发送电子邮件所需要做的就是

$mail = new PHPMailer;
$mail->From = 'from@example.com';
$mail->FromName = 'Mailer';
$mail->addAddress('ellen@example.com');

$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';


if(!$mail->send()) {
   echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM