【发布时间】:2019-08-24 16:26:55
【问题描述】:
我正在编写一个程序来帮助学校的生物系,其中涉及发送电子邮件。我已经收集了邮件内容所需的所有变量,只是电子邮件的实际发送导致了一些问题。
我环顾四周,发现我使用的是发送到 gmail 的代码,而学校的服务器使用的是 Outlook 2010。一旦我想起这一点,我就四处寻找一些发送电子邮件的 python 代码,但到目前为止还没有工作。
仅仅发送一封电子邮件似乎很复杂,但我需要一些帮助才能从这里开始。
gsal.org.uk是我们学校的web服务器地址,是一个outlook服务器。
我收到的当前错误是smtplib.SMTPException: STARTTLS extension not supported by server.,但我尝试的所有操作都不断收到各种错误。
这是代码:
fromaddr = "test@gsal.org.uk"
toaddrs = "technicians@gsal.org.uk"
msg = "\r\n".join([
"From: user",
"To: user",
"Subject: Practical Request",
"",
"Test"
])
server = smtplib.SMTP_SSL('smtp.gmail.com:465')
server.ehlo()
server.starttls()
# server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
messagebox.showinfo("Success!", "Your request has been sent successfully.")
我想要做的就是从一个电子邮件帐户(在程序中指定)发送一封电子邮件到一个很快将在学校设立的电子邮件帐户,名为 technicians@gsal.org.uk。任何帮助表示赞赏。
编辑
我想补充一点,如果我删除 starttls() 行,我会得到:
smtplib.SMTPSenderRefused: (530, b'5.5.1 Authentication Required. Learn more at\n5.5.1 https://support.google.com/mail/answer/14257 hw1sm42144009wjb.6 - gsmtp', 'test@gsal.org.uk')
我已阅读该链接,但它似乎在谈论 gmail?我想用outlook?我知道我需要进行身份验证,但是如何?
【问题讨论】:
-
嗯,你说你想帮忙,但是因为你的学校有域名,我想它也可以有一个邮件服务器。如果它有一个,你应该真正使用它而不是
'smtp.gmail.com:465'。因为您实际上是在将邮件发送到 gmail 服务器...您应该询问学校的系统管理员。
标签: python email python-3.x outlook python-3.4