これは、認証されたSMTP(Gmailではない)を介して電子メールを送信することに関する質問です。以下のスクリプトは、このサイトでさまざまな質問と回答をまとめたものですが、この特定のツールの組み合わせの「グーグル可能な」候補がないというエラーが発生します。 Python 3.5.1で作業していますが、次のエラーが発生します:
メールが失敗しました。 [SSL:UNKNOWN_PROTOCOL]不明なプロトコル(_ssl.c:645)
これはクライアント側のエラーですか、それともサーバーですか?知らない証明書がいくつかありませんか? AFAIKサーバーはSSL認証をサポートしています。正しい方向への考えや微調整はありがたいです。
import sys
from smtplib import SMTP_SSL as SMTP
from email.mime.text import MIMEText
# credentials masked, obviously
SMTPserver = 'myserver'
sender = 'mymail'
destination = ['recipient']
USERNAME = "myusername"
PASSWORD = "mypass"
# typical values for text_subtype are plain, html, xml
text_subtype = 'plain'
content = """\
Test message
"""
subject = "Sent from Python"
try:
msg = MIMEText(content, text_subtype)
msg['Subject'] = subject
msg['From'] = sender
conn = SMTP(Host=SMTPserver, port=465)
conn.set_debuglevel(False)
conn.login(USERNAME, PASSWORD)
try:
conn.sendmail(sender, destination, msg.as_string())
finally:
conn.quit()
except Exception as exc:
sys.exit("mail failed; %s" % str(exc))
私も同じ問題を抱えていました。私はちょうどから変更しました:
EMAIL_USE_SSL = True
に:
EMAIL_USE_TLS = True