1

最近,由于垃圾邮件,我的主机对我的服务器进行了关于电子邮件的更改。

我发现您的服务器正在发送大量垃圾邮件:

root@server2 [~]# exiqgrep -r * ** * * .com -c 5814 匹配 6122 条消息

这意味着* ** * * .com 是从您的服务器发送的 5,814 条消息的收件人。我已从队列中删除了这些消息,并提高了您服务器上的邮件日志记录和安全级别。我还禁用了您的服务器作为开放中继,这似乎是邮件发送的方式。这很有可能导致延迟,但问题仍然是您有一个被劫持的脚本/帐户试图以这种速度发送邮件。服务器现在设置为不从除 SMTP 用户、root 和 mailman 之外的任何用户发送邮件;因此,您必须确保所有邮件脚本都正确使用 SMTP 身份验证。您可以在此处找到有关如何执行此操作的更多信息:

http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm

我还强烈建议为此服务器上的任何和所有域打开 DKIM 和 SPF 记录(可以在 cPanel 中的“邮件身份验证”下完成),因为这将减少退回/拒绝邮件以及被列入黑名单的机会已经发出的垃圾邮件。我还在 * ** * *帐户上运行恶意软件扫描,并关闭了默认电子邮件地址。扫描完成后,我会立即通知您是否有任何点击。

我的脚本现在必须使用 SMTP 身份验证。现在我在更新我的代码后遇到了错误。

警告:fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/ * /public_html/fkg/lib/phpmailer/class.SMTP.php on line 89

警告:fsockopen() [function.fsockopen]:无法连接到邮件。. ** * ** .com:25 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /home/ * /public_html/fkg/lib/phpmailer/class.SMTP.php on line 89 SMTP -> ERROR: Failed to连接到服务器:php_network_getaddresses:getaddrinfo 失败:名称或服务未知(0)邮件错误

说明:SMTP 错误:无法连接到 SMTP 主机服务器

这是我的代码

$mail = new phpmailer();
$mail->SMTPDebug = 1;
$mail->IsSMTP();  // telling the class to use SMTP
$mail->Host = "mail.***.************.com"; // SMTP server
$mail->Port = "25"; 
$mail->SMTPAuth  = true;   //we need to autenticate to the server
//$mail->SMTPSecure = "ssl";  //we use ssl to protected the flow of info
$mail->Username = "noreply+*****.com"; //account 
$mail->Password = "********"; //password

关于正在发生的事情的任何想法。提前致谢。

4

1 回答 1

2

好吧,在一天结束后,经过长时间的聊天......

几个问题。在这种情况下,另一端的服务器是exim,它只允许您在使用EHLO命令点击它后进行身份验证。PHPMailer,已使用,不允许您强制执行 a EHLO,因此对exim服务器的身份验证不起作用。

切换到PEAR::Mail++ “PEAR::Net_SMTP修复PEAR::Net_Socket”了这个问题。

参考:

  1. http://pear.php.net/package/Mail/download/
  2. http://pear.php.net/package/Net_SMTP/download
  3. http://pear.php.net/package/Net_Socket/download
于 2012-09-05T21:23:39.420 回答