我正在尝试使用python中的chilkat mailman api通过经过身份验证的http代理发送电子邮件。我已尽力遵循Chilkat docs中的说明,但我遇到了代理服务器的问题。我已经验证了这个代理可以使用phantomjs脚本给定指定的端口和auth。
import chilkat
# The mailman object is used for sending and receiving email.
mailman = chilkat.CkMailMan()
# set the http proxy
mailman.put_HttpProxyAuthMethod("LOGIN")
mailman.put_HttpProxyHostname("xxx.xxx.xxx.xxx")
mailman.put_HttpProxyPort(xxxxx)
mailman.put_HttpProxyUsername("xxxxx")
mailman.put_HttpProxyPassword("xxxxx")
# Set the SMTP server.
mailman.put_SmtpHost("smtp.live.com")
mailman.put_StartTLS(True)
mailman.put_SmtpPort(25)
# Set the SMTP login/password (if required)
mailman.put_SmtpUsername("xxxxxxx")
mailman.put_SmtpPassword("xxxxxxx")
# Create a new email object
email = chilkat.CkEmail()
email.put_Subject("This is a test")
email.put_Body("This is a test")
email.put_From("name@email.com")
email.AddTo("Chris Johnson","name@email.com")
# Call SendEmail to connect to the SMTP server via the HTTP proxy and send.
success = mailman.SendEmail(email)
if (success != True):
print(mailman.lastErrorText())
sys.exit()
如果我取出设置代理的部分,则邮件已成功发送。我还缺少其他一些属性吗?
答案 0 :(得分:0)
虽然Chillkat的邮件员支持HTTP代理,但它似乎不支持纯HTTP代理。主要是,您使用的代理还必须支持其他协议,因为SMTP不通过HTTP广播。由于我的代理仅支持HTTP协议,因此对我来说无效。我交换使用SOCKS代理,现在一切正常。