すべてのプロダクト
Search
ドキュメントセンター

Alibaba Mail:SMTP コール例(Python 3.6 以上)

最終更新日:Jan 19, 2025

このトピックでは、SMTP コール例を示します。Python 3.6 以上に適用されます。

Alibaba Mail の構成

SMTP サーバーアドレス: smtp.sg.aliyun.com

ポート: 非暗号化は 25、SSL 暗号化は 465

# -*- coding:utf-8 -*-
import smtplib
import email
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
# 送信者のメールアドレス。
from email.utils import formataddr

username = ''
# 送信者のメールパスワード。
password = ''
# カスタム返信アドレス
replyto = ''

From = formataddr(["カスタム送信者ニックネーム",'' ]) # ニックネーム + 送信者アドレス (または代理送信者)
to = ','.join(['', ''])

cc = ''
bcc = ''

# 受信者アドレスまたはアドレスリスト。複数の受信者がサポートされています。
rcptto = [to, cc, bcc]

# msg は、メールに表示する必要がある情報です。
msg = MIMEMultipart('alternative')
msg['Subject'] = Header('smtp 送信テスト')
msg['from'] = From
msg['rcptto'] = ','.join(rcptto)
print ('受信者リスト:', msg['rcptto'], type(msg['rcptto']))

msg['Reply-to'] = replyto
msg['Message-id'] = email.utils.make_msgid()
msg['Date'] = email.utils.formatdate()

# 代替テキスト/プレーンパートを構築する
textplain = MIMEText ('このメールはテスト用です', _subtype='plain', _charset='UTF-8')
msg.attach(textplain)
# 代替テキスト/html パートを構築する
texthtml = MIMEText ('これはテストメールです', _subtype='html', _charset='UTF-8')
msg.attach(texthtml)

try:
    client = smtplib.SMTP_SSL('smtp.sg.aliyun.com', 465)
    print ('サービスとポートが接続されました')
except:
    print ('サービスとポートが利用できません')
    exit(1)

# デバッグモードを有効にする。
try:
    client.set_debuglevel(0)
    client.login(username, password)
    print ('パスワードが確認されました')
except:
    print ('パスワードの確認に失敗しました')
    exit(1)

client.sendmail(username, msg['rcptto'].split(','), msg.as_string())
client.quit()
print ('メールが正常に送信されました! ')