1

来自http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/PHPMailer%20v5.1/的 PHPMailer

在我的“离线”WAMP 设置(本地主机)中,我通过 Gmail 使用 PHPMailer 的 PHP 文件运行良好(在我记得打开 php_openssl 之后)。这表明我的 PHP 代码和 Gmail 设置是正确的。

但是,在我的“在线”托管服务提供商上,我收到“错误:服务器不接受密码:535 身份验证数据不正确”。

535 提示密码错误,但与上传的文件相同。因此,我认为这是服务器配置问题,但不知道从哪里开始。我比较了 phpinfo(),并且两者都启用了 openSSL - 有什么建议吗?

4

3 回答 3

0

听起来您的远程主机未配置反向 DNS,或者 IP 地址可能会根据来自SenderBase /alike 的值进行速率限制。

该问题的间歇性显示将排除诸如路由或您的物理凭据或防火墙之类的问题。它会将问题更多地放在速率限制、服务质量等方面。

检查上面的 SenderBase 是否有不工作的主机,看看它的评级是否很差。我敢打赌正在工作的主机得分很高或根本没有列出。

于 2012-06-26T16:01:42.147 回答
0

这似乎是您描述的环境问题。可能您的“在线”(或生产)托管比您的本地主机环境更安全。某种防火墙可能会阻止您连接到出站套接字/端口。出站 SMTP 端口非常常见的做法。

要检查这是否是您的问题,请测试哪些端口可用。你有很多方法可以做到这一点。

网络统计

netstat -l -t -p

php

$p = fsockopen( '127.0.0.1', <port number>, $errno, $errstr, 5 );
if ( !$p )
    // port is closed or blocked
else
    // port is open and available
    fclose( $p );

Python

#!/usr/bin/env python
from socket import * 

if __name__ == '__main__':
    target = raw_input('Enter host to scan: ')
    targetIP = gethostbyname(target)
    print 'Scanning on host ', targetIP

    for i in range(20, 1025):
        s = socket(AF_INET, SOCK_STREAM)

        result = s.connect_ex((targetIP, i))

        if(result == 0) :
            print 'Port %d: OPEN' % (i,)
        s.close()
于 2012-06-22T17:42:17.023 回答
0

只是一个想法,但也许您的密码中有特殊字符,这就是为什么它不匹配?此外,您可能想尝试使用本地 php.ini 以确保它不是问题,当然只是一秒钟

于 2012-06-21T21:00:15.113 回答