【发布时间】:2014-03-03 07:21:07
【问题描述】:
我在注册后立即使用电子邮件检查。我使用 ubuntu 13.10 服务器(具有 Postfix)的本地 sendmail。问题是,我无法使用所有邮件服务器对其进行测试。而且我知道有些服务器不接收来自我的服务器的电子邮件。 事实上像gmail这样的服务器,hotmail从服务器获取电子邮件。但是像 mail.ru 这样的服务器(我测试过,垃圾邮件和收件箱都不会收到电子邮件)不会从我的服务器收到电子邮件。这是我与 PHPMailer 一起使用的邮件类。
<?php
class Mail
{
private $mail;
public function __construct()
{
$this->mail = new PHPMailer(true);
$this->mail->IsSendmail();
$this->mail->WordWrap = 50;
$this->mail->CharSet = "UTF-8";
$this->mail->IsHTML(true);
}
public function SendIt($to, $from_mail, $from_name, $subject, $message)
{
$this->mail->AddReplyTo($from_mail, $from_name);
$this->mail->SetFrom($from_mail, $from_name);
$this->mail->Subject = $subject;
$this->mail->Body = $message;
$this->mail->AddAddress($to);
if ($this->mail->Send())
return true;
else {
Yii::log('Mail error: ' . $this->mail->ErrorInfo, "error", "mail");
return false;
}
}
}
我做错了什么?有什么建议么?也许我必须使用一些标题?
【问题讨论】:
-
在 PHPMailer 中设置 ssl true 并确保您的 php.ini 也启用了 ssl 套接字。然后测试它是否有效。
-
@MT-Developer 为什么选择 ssl?
-
检查一下。这可能是原因。