当前位置: 首页 > 知识库问答 >
问题:

无法向Outlook发送邮件。在Python中通过SMTP访问com

益源
2023-03-14

我可以在Python中通过SMTP将邮件发送到gmail帐户。但是当尝试为Outlook-office365做同样的事情时,它会抛出错误。

向gmail发送邮件的代码(工作)

import smtplib
sender_email = "ABC@gmail.com"
rec_email = "ABC@gmail.com"
password = input(str("pwd:"))
message = "hey sent using python"
server = smtplib.SMTP('smtp.gmail.com',587)
server.starttls()
server.login(sender_email,password)
print("Login success")
server.sendmail(sender_email,rec_email, message)
print("Email sent to",rec_email)

Outlook代码(抛出错误)

import smtplib
sender_email = "ABC@companyhtml" target="_blank">domain.com"
rec_email = "ABC@companydomain.com"
password = input(str("pwd:"))
message = "hey sent using python"
server = smtplib.SMTP('smtp.outlook.com',587)
server.starttls()
server.login(sender_email,password)
print("Login success")
server.sendmail(sender_email,rec_email, message)
print("Email sent to",rec_email )

下面的错误发生时,我运行上述Outlook代码:

Traceback (most recent call last):
File "C:/Users/ABC/Python/Python37/pythonmail.py", line 32, in <module>
  server.login(sender_email,password)
File "C:\Users\ABC\Python\Python37\lib\smtplib.py", line 730, in login
  raise last_exception
File "C:\Users\ABC\Python\Python37\lib\smtplib.py", line 721, in login
  initial_response_ok=initial_response_ok)
File "C:\Users\ABC\Python\Python37\lib\smtplib.py", line 642, in auth
  raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.3 Authentication unsuccessful 
  [BM1PR01CA0154.INDPRD01.PROD.OUTLOOK.COM]')

我甚至浏览了以下链接:

[https://stackoverflow.com/questions/57203843/unable-to-send-mail-in-python-on-outlook-with-the-smtplib][1]

[https://www.pythonanywhere.com/forums/topic/1961/][2]

[https://stackoverflow.com/questions/66061531/send-mail-from-alias-mail-id-using-python-smtplib][2]

有人能帮我解决这个错误吗?

同时,下面的代码也适用于使用win32com的gmail和outlook。客户但我想用SMTP lib来实现。好心帮忙

import win32com.client as client
outlook = client.Dispatch("Outlook.Application")
message = outlook.CreateItem(0)
message.Display()
message.To = 'ABC@domain.com'
message.subject = 'Test Mail'
message.body = 'Sending a test mail :)'
message.send
print("mail sent successfully")

共有1个答案

冯元徽
2023-03-14

尝试不提供端口号和密码。成功了。

import smtplib
sender_email = "test_mail@company.com"
rec_email = ["ABC@company.com"]
message = "hey sent using python"
server = smtplib.SMTP('smtp.corp.company.com')
print("Login success")
server.sendmail(sender_email,rec_email, message)
print("Email sent to",rec_email )
 类似资料:
  • 问题内容: 我正在使用。 使用发送电子邮件(通过)的最佳方法是什么? 问题答案: 有关使用Outlook的解决方案,请参见下面的TheoretiCAL答案。 否则,请使用python随附的smtplib。请注意,这将要求您的电子邮件帐户允许smtp,默认情况下不一定启用此功能。 编辑: 此示例使用保留域,如RFC2606中所述 为了使它真正与gmail配合使用,Doe先生需要进入gmail中的选项

  • 我正在尝试使用Gmail SMTP服务器从我用CodeIgniter构建的应用程序发送电子邮件,但没有成功。我使用我的Gmail帐户作为用户,但为了保密,我正在更改这里的配置。我使用了下面的代码 以下是每次出现的2个错误消息: 遇到一个PHP错误 严重性:警告 消息:mail():无法连接到位于“”的邮件服务器ssl://smtp.googlemail.com端口465,验证php.ini中的“S

  • 具有以下邮件配置设置: 以及以下属性: 我得到以下错误: JAVAlang.RuntimeException:javax。邮政MessaginException:无法连接到SMTP主机:SMTP。我们德勤。com,端口:25;嵌套的例外是:java。网SocketException:权限被拒绝: 当我使用gmail作为“发件人”帐户和“收件人”中的Outlook帐户时,代码是一样的。 我试着设置s

  • 我想用Java从我的公司Outlook帐户发送邮件。但它说邮箱无法访问。我试过各种解决方案,比如更改主机名,但还是不行。错误保持不变。请对此提出任何解决方案。下面是我面临的错误片段。注意:我使用javax mail来实现这个目的。

  • 我使用的PHPMailer表格在这里找到。 从网站下载的示例是“接触-3”,在引导主题中使用PHPMailer通过gmail发送SMTP电子邮件。当我使用“接触-1”时,它完全适用于我的托管域电子邮件地址,但SMTP版本适用于gmail地址,联系人表单不会提交。 在下面的代码中,我更改了以下行以添加我的gmail地址和gmail密码: 任何关于使用给定信息进行此工作的帮助都将不胜感激-提前感谢!

  • 我目前有一个邮件服务器正在运行。我可以通过 mywebsite.com/roundcube/ 从这个网站我可以发送和接收电子邮件适当。日志显示所有的邮件进出都很好。我从这里发到我的gmail账户,然后又发回来。 然而,我真正想做的是使用javax mail从java发送一些邮件。