使用经过身份验证的HTTP代理向Chilkat Mailman发送邮件

时间:2014-05-15 00:07:01

标签: python python-2.7 proxy chilkat chilkat-email

我正在尝试使用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()

如果我取出设置代理的部分,则邮件已成功发送。我还缺少其他一些属性吗?

1 个答案:

答案 0 :(得分:0)

虽然Chillkat的邮件员支持HTTP代理,但它似乎不支持纯HTTP代理。主要是,您使用的代理还必须支持其他协议,因为SMTP不通过HTTP广播。由于我的代理仅支持HTTP协议,因此对我来说无效。我交换使用SOCKS代理,现在一切正常。