Pythonを使用してoffice365の企業アカウントからメールを送信しようとしています。私はpythonが初めてです。このコードは、以前はhotmailアカウントを使用していたときに機能していましたが、機密情報を送信する必要があるため、会社のメールを使用する必要があります。
私はいくつかのことを試しました。
535 5.7.3 Authentication unsuccessful
_証明書の部分については不明ですが、私の手順には、オンラインで証明書をエクスポートする方法を調べることが含まれます。 chrome browser、 microsoftonline.com にはチェーン証明書があります。ルートとルートのすぐ下のレベルをエクスポートできますが、最後のレベルはエクスポートできません。これらの両方のファイルを渡すため、ルート証明書を渡すだけで、この時点でエラーが発生します:ssl.SSLError: [SSL] PEM lib (_ssl.c:3309)
この時点で行き詰まりました。どんな助けも大歓迎です。以下で使用されるコード
_import smtplib
mailserver = smtplib.SMTP('smtp.office365.com',587)
mailserver.ehlo()
mailserver.starttls(certfile='office365.cer')
mailserver.ehlo()
mailserver.login('[email protected]', 'password')
mailserver.sendmail('[email protected]','[email protected]','python email')
mailserver.quit()
_
まあ、あなたはほとんどそこにいます。次のコードでトリックを行います:
import smtplib
mailserver = smtplib.SMTP('smtp.office365.com',587)
mailserver.ehlo()
mailserver.starttls()
mailserver.login('[email protected]', 'password')
mailserver.sendmail('[email protected]','[email protected]','python email')
mailserver.quit()
詳細については、次のリンクを使用してください。
http://www.aventistech.com/2016/03/07/python-send-email-via-office-365-tls/
https://docs.python.org/3/library/smtplib.html
https://Gist.github.com/jasonjoh/3ec367594c3fa662ee983a617bdc7deb
私のために働いているライブラリを見つけました:
https://github.com/Narcolapser/python-o365
https://pypi.python.org/pypi/O365
PIPを使用してインストールし、次に:
from O365 import Message
o365_auth = ('[email protected]','YourPassword')
m = Message(auth=o365_auth)
m.setRecipients('[email protected]')
m.setSubject('I made an email script.')
m.setBody('Talk to the computer, cause the human does not want to hear it any more.')
m.sendMessage()
コードはわずかに変更されました。上記のコードは機能しません。以下のコードを使用してください。 参照
from O365 import Account
credentials = ('client_id', 'client_secret')
account = Account(credentials)
m = account.new_message()
m.to.add('[email protected]')
m.subject = 'Testing!'
m.body = "George Best quote: I've stopped drinking, but only while I'm asleep."
m.send()