启用以连接到远程smtp

时间:2014-11-13 10:35:55

标签: python email smtp

我在这里有一个方便的smtp测试脚本在python中。没什么特别的,只是基础知识。 它适用于我的所有服务器或桌面工作站。 但在一台服务器上,我无法连接到远程smtp。相反,它总是尝试连接到本地smtp。

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib,string,datetime,time

MESSAGE = MIMEMultipart('alternative')
MESSAGE['subject'] = "TEST"
#MESSAGE['TO'] = to
# FOR TESTING ONLY
MESSAGE['TO'] = 'xxx@domain.com'
# FOR TESTING ONLY
MESSAGE['FROM'] = 'Me <no-reply@domain.com>'
HTML_BODY = MIMEText('<p>Hi this is a test</p>','html')
MESSAGE.attach(HTML_BODY)

server = smtplib.SMTP("gator3124.hostgator.com:587")

server.set_debuglevel(1)
server.login("username","password")
server.sendmail(MESSAGE['from'],[MESSAGE['to']],MESSAGE.as_string())
server.quit()

我执行此脚本(当然更改用户名,密码等...)我得到以下输出:

send: 'ehlo h37-157-247-18.host.redstation.co.uk\r\n'
reply: '250-h37-157-247-18.host.redstation.co.uk Hello h37-157-247-18.host.redstation.co.uk [37.157.247.18]\r\n'
reply: '250-SIZE 52428800\r\n'
reply: '250-8BITMIME\r\n'
reply: '250-PIPELINING\r\n'
reply: '250-AUTH PLAIN LOGIN\r\n'
reply: '250-STARTTLS\r\n'
reply: '250 HELP\r\n'
reply: retcode (250); Msg: h37-157-247-18.host.redstation.co.uk Hello h37-157-247-18.host.redstation.co.uk [37.157.247.18]
SIZE 52428800
8BITMIME
PIPELINING
AUTH PLAIN LOGIN
STARTTLS
HELP
send: 'AUTH PLAIN xxxx =\r\n'
reply: '535 Incorrect authentication data\r\n'
reply: retcode (535); Msg: Incorrect authentication data

脚本尝试打开与本地计算机的连接,并忽略脚本中的主机。这只发生在这台机器上。我可以输入我想要的东道主,无所谓。

编辑: 真正令人兴奋的是我可以以root身份成功执行脚本。但作为“普通”ssh用户,它连接到localhost ..

1 个答案:

答案 0 :(得分:0)

cPanel中的邮箱文件权限通常会出现此错误。需要root访问才能解决此问题。当WHM中的选项“允许使用域所有者帐户的密码进行邮件帐户身份验证”时,可能会发生这种情况 - >服务器配置 - &gt;调整设置已启用。禁用此选项,然后重试。

由于您的服务器对Internet开放以接收来自世界任何地方的邮件,这也意味着世界上的任何人都可以尝试登录并将邮件作为您的电子邮件地址之一发送。请注意,此更改将重定向传出SMTP连接,允许帐户建立直接连接,这可能会增加服务器进入黑名单的可能性。