Gmail邮件服务器

3

我曾经使用谷歌的精美界面来获取我的邮件,它将永远存在于这里:

https://mail.google.com/a/yourdomainhere.com

我想编写 Python 脚本来发送邮件,但是我无法配置服务器设置。

smtp = smtplib.SMTP('mail server should be what?', what is the port)
smtp.login('username@yourdomainhere.com', 'pass')

请问有人可以帮我吗?

谢谢。

3个回答

6

我尝试了以下代码:smtp = smtplib.SMTP('smtp.gmail.com',587) smtp.login('username@domain.com', 'pass')但是出现了以下错误:"raise SMTPException("SMTP AUTH extension not supported by server.") SMTPException: SMTP AUTH extension not supported by server." - Neveen
如果你已经阅读了链接,你会发现你必须使用TLS或SSL。我相信SMTPlib支持TLS,只要你开始TLS会话,你就没问题了。 - Donnie
非常感谢您的帮助。 但是我如何开始TLS会话? - Neveen

0

SMTP消息转发的首选方法是使用您的ISP的SMTP服务器。定位Google的消息传输代理的工作由这些服务器处理。

要直接使用Google的服务器,您需要通过DNS查找Google提供的MX记录。从Python程序中,需要使用一个DNS库。以下是一个示例,使用{{link3: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使用来转发消息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接