使用 cPanel 电子邮件对 smtplib 进行故障排除 - Python3



我已经使用gmail凭据测试了以下代码,它运行良好,但是,当我尝试使用在cPanel中创建的电子邮件时,它不起作用。我确定凭据是正确的,并且我没有被服务器阻止,因为我的电子邮件客户端正在工作,我可以远程登录到它。 有没有办法以某种方式生成日志以查看它失败的原因?使用 print 语句,我发现它在到达服务器变量时失败。

import config
import smtplib

class EmailAlert(object):
"""Class for sending email alert from slave account"""
def __init__(self, subject, msg):
self.subject = subject
self.msg = msg
def send_email(self):
try:
server = smtplib.SMTP(config.OUTGOING_SERVER) #It fails here and goes to except
server.ehlo()
server.starttls()
server.login(config.FROM_EMAIL_ADDRESS, config.PASSWORD)
message = 'Subject: {}nn{}'.format(self.subject, self.msg)
server.sendmail(config.FROM_EMAIL_ADDRESS,
config.TO_EMAIL_ADDRESS,
message)
server.quit()
print("Success: Email sent!")
except:
print("Email failed to send.")
email = EmailAlert("Test", "test")
email.send_email()

我发现即使cPanel中显示的端口通常是465,使用端口587也可以工作。