【Python】smtplibでメール送信

f:id:tm200:20210829222902j:plain

Pythonでメール通知の実装メモ。
ホスト名などは適宜変更してください。

実装

ライブラリは不要です。

# -*- coding: utf-8 -*-
import getpass
import platform
import smtplib
from datetime import datetime
from email.mime.text import MIMEText
from email.utils import formatdate


def send_mail(to: str, mail_text: str):
    """
    メール送信
    :param to: 送信先
    :param mail_text: 本文
    """
    now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    host_name = platform.uname()[1]

    message = MIMEText(mail_text)
    message['Subject'] = f'[{now}][{host_name}]'
    message['From'] = f'{getpass.getuser()}@{host_name}'
    message['To'] = to
    message['Date'] = formatdate()
    with smtplib.SMTP('localhost') as smtp:
        smtp.send_message(message)