2010-05-25 137 views

回答

6
+0

我試圖 SMTP = smtplib.SMTP( 'smtp.gmail.com',587) smtp.login('[email protected]」, '通') 我得到以下錯誤 「 引發SMTPException(「服務器不支持SMTP AUTH擴展」) SMTPException:服務器不支持SMTP AUTH擴展 「 – Neveen 2010-05-25 15:27:28

+0

」如果您已閱讀鏈接,您會看到必須使用TLS或SSL。我相信SMTPlib支持TLS,所以你應該沒問題,只要你啓動TLS會話即可。 – Donnie 2010-05-25 15:30:36

+0

非常感謝您的幫助。 但我如何啓動TLS會話? – Neveen 2010-05-25 15:35:22

0

用於SMTP郵件轉發的首選方法是使用您的ISP的SMTP服務器。定位Google的Message transfer agent的工作由這些服務器處理。

要直接使用Google的服務器,您需要查看google提供的MX records通過DNS。從Python程序,需要一個DNS庫。下面是一個例子,使用dnspython這個Python的DNS工具包。

>>> from dns import resolver 
>>> mxrecs = resolver.query('gmail.com', 'MX') 
>>> [mx for mx in mxrecs] 
[<DNS IN MX rdata: 20 alt2.gmail-smtp-in.l.google.com.>, 
<DNS IN MX rdata: 40 alt4.gmail-smtp-in.l.google.com.>, 
<DNS IN MX rdata: 30 alt3.gmail-smtp-in.l.google.com.>, 
<DNS IN MX rdata: 10 alt1.gmail-smtp-in.l.google.com.>, 
<DNS IN MX rdata: 5 gmail-smtp-in.l.google.com.>] 
>>> mx.exchange.to_text() 
'gmail-smtp-in.l.google.com.' 
>>> mx.preference 
5 
>>> 

優選郵件交換服務器這裏是gmail-smtp-in.l.google.com,其可與smtplib用於轉發消息。

相關問題