Zend Mail 被声明为 Ratware



我在包装类中使用Zend_mail和SMTP在这样的包装类中:

//$_config has all required and valid attributes to send a mail successfully.
$tmpconfig = Array('auth' => 'login',
                    'username' => $this->_config->MAIL_LOGIN,
                    'password' => $this->_config->MAIL_PASSWORT);
$this->_transport = new Zend_Mail_Transport_Smtp($this->_config->MAIL_SMTP,$tmpconfig);
$this->_mail = new Zend_Mail();
$this->_mail->setFrom($this->_config->MAIL_ADDRESS, $this->_config->MAIL_SENDER_NAME);
...
//$_data has already all required and valid fields and values...
$this->_mail->setBodyText($this->_data['maildata']['BodyText'],'UTF-8','UTF-8');
$this->_mail->setSubject($this->_data['maildata']['Subject']);
$this->_mail->addTo($this->_data['maildata']['RecipientEmail'], $this->_data['maildata']['RecipientName']);
$this->_mail->send($this->_transport);

场景 1:我使用测试帐户将邮件发送到专有服务器,然后发送到测试系统中的测试邮件地址。将收到此邮件。

场景 2:我使用另一个测试帐户将邮件发送到另一个专有服务器,具有两个测试系统,发送到同一邮件地址。此邮件作为 ratware 被拒绝。我已经和服务器管理员谈过了,他说邮件生成不正确。没有有效的 EHLO 问候语:"远程主机在 HELO/EHLO 问候语中使用了我们的名字。

我真的不知道这是zend_mail类还是测试系统的问题。

第一个测试系统:PHP 版本 5.3.2-1ubuntu4.14,Apache/2.2.14(Ubuntu)

第二个测试系统:PHP 版本 5.3.1,Apache/2.2.14 (Unix)(Mac OS X 上的 Apache )

我认为您的第二个邮件服务器的配置过于严格,或者可能是您配置Zend_Mail方式的问题。 Zend_Mail对我来说效果很好,我正在使用它向多个SMTP服务器发送电子邮件,包括Gmail服务器以及流行的共享网络托管服务。

如果您在端口 25 上发送邮件,我相信许多邮件服务器更有可能将您的邮件视为垃圾邮件。 您的第二个邮件服务器是否支持使用备用端口发送? 典型的替代方案是 465 或 587。 另外,您是否尝试过通过SSL或TLS发送? 这些也可能有助于说服该服务器您的消息是合法的。

最新更新