Py学习  »  Python

使用python脚本从azure服务器发送电子邮件

Rohit Gupta • 4 年前 • 752 次点击  

使用python脚本,我试图发送电子邮件。 脚本的邮件部分看起来像-

import smtplib
sender = 'abc.xyz@company.com'
receiver = 'abc.xyz@company.com'
message = """From: From Person <abc.xyz@company.com>
To: To Person <abc.xyz@company.com>
Subject: Inbound Folder Check - Alert
Unchanged even after an hour, please check
"""
smtpObj = smtplib.SMTP('smtp.office365.com',587)
smtpObj.starttls()
smtpObj.login('def@company.onmicrosoft.com','Password')
smtpObj.sendmail(sender, receiver, message)

我得到的错误是-

引发smtpdataerror(代码,resp)smtplib.smtpdataerror:(554,B'5.2.0 storedrv.submission.exception:sendasdeniede xception.mapiExceptionSendasDenied;由于 消息的永久异常无法提交消息。…, 20.52176:140fcc841400100640 10000,20.50032:140fcc841710106910000,0.35180:0a006586,255.23226:6e010000, 255.27962:0a000000、255.27962:0e000000、255.31418:0a00eb87、16.55847:69000000、1 7.43559:00000000900100000000000d0000000000000,20.52176:140fcc84140001000a00f 736,20.50032:140fcc841710100a00f836,0.35180:8c10000,255.23226:40000730,25 5.279662:32000000,255.17082:DC040000,0.27745:9a010000,4.21921:DC040000,255.27 962:fa000000 255.1494:0a0070E,0.37692:01000100,0.44092:01000100,0.44092:01000100,0.41232:010 00100,0.41232:010 00100,0.41232:010 00100,0.41232:010 00100,0.40208:01000100,0.37136:01000100,0.34608:01000100,0.55056:01000100,0.55056:01000100,0.27768:01000100,0.279662:320000,0.279662:32000000,255.170102:07,4.33016:DC040000,7.40748:0 1000000000100000C00000000,7.57132:000000000000000005000780,1.63016:32000000,4.3 9640:DC040000,8.45434:EC5537826FAD8844ABBA433565F1D57205000780,5.10786:0000000 031352E3302E332382E3032303A5644931505230314D423239303A386164333635392D646 338612D3435306442D386265322D626464626133393261390060205000780, 255.1750:4B01 0000,255.31418:0a004c82,0.22753:50010000,255.21817:DC040000,4.60547:DC040000,0.21966:B410000,4.30158:DC040000[主机名=ABC]')

我在网上得到的唯一帮助是- https://support.microsoft.com/en-us/help/3132755/554-5-2-0-storedrv-deliver-exception-objectnotfoundexception-mapiexcep 而且,它似乎显示已启用杂波,但邮箱中不存在该文件夹,并建议关闭“杂波”选项,但该选项没有帮助。

PS-这可以在我公司网络中的本地计算机上运行,但这与从azure服务器运行它有关。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46279
 
752 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Peter Pan
Reply   •   1 楼
Peter Pan    5 年前

首先,请按照官方文件 How to set up a multifunction device or application to send email using Office 365 以确保设置是否正确。

其次,如果您使用azure vm通过smtp发送邮件,则可以参考此文档 Understand outbound SMTP problems in Azure VMs 试图解决你的问题。

同时,对于编码,有一些资源可能会有帮助。

  1. Python: Send Email via Office 365
  2. Send email on App Service using Office 365 (O365) 在php中
  3. Sending email from an Azure App Service using an O365 SMTP server 在C中#

或者直接使用一些包,如python-o365: GitHub PyPI 是的。

最后,还有一个名为sendGrid的服务用于电子邮件服务。你可以使用它在azure上的场景中发送邮件,请参考官方教程了解 How to Send Email Using SendGrid with Azure (c)。对于python,可以通过 its REST API sendgrid python library 是的。