サーバーからちょっとしたメール送信をしたいときに何かしらのSMTPサーバー経由でメールを送りたいなと思ったので
ひとまず、簡単なメール通知をGoogleのSMTPサーバーを使って送る例をメモっておく

GoogleのSMTPを使ってメール送信する際には、アプリのパスワードを作成する必要がある
手順は、以下ページのとおり
Googleでアプリパスワードを生成

C#での実装
using System;
using System.Net;
using System.Net.Mail;

const string appPassword = "your-app-password"; // アプリのパスワード

var mailAddressFrom = "youraddress@gmail.com";  // 送信者
var mailAddressTo = "送信先メールアドレス";     // 受信者
var subject = "テストメール";                   // タイトル
var body = "プログラムから送信しています";      // 本文

// SMTP設定
var smtp = new SmtpClient("smtp.gmail.com", 587)
{
    EnableSsl = true,
    Credentials = new NetworkCredential(mailAddressFrom, appPassword)
};

var mail = new MailMessage(mailAddressFrom, mailAddressTo, subject, body);

try
{
    smtp.Send(mail);
    Console.WriteLine("メールを送信しました。");
}
catch (Exception ex)
{
    Console.WriteLine("送信エラー: " + ex.Message);
}
var mailAddressFrom = "youraddress@gmail.com"; // 送信者
var mailAddressTo = "送信先メールアドレス";    // 受信者
var subject = "テストメール";                  // タイトル
var body = "プログラムから送信しています";     // 本文

// SMTP設定
var smtp = new SmtpClient("smtp.gmail.com", 587)
{
    EnableSsl = true,
    Credentials = new NetworkCredential(mailAddressFrom, appPassword)
};

var mail = new MailMessage(mailAddressFrom, mailAddressTo, subject, body);

try
{
    smtp.Send(mail);
    Console.WriteLine("メールを送信しました。");
}
catch (Exception ex)
{
    Console.WriteLine("送信エラー: " + ex.Message);
}
Python
import smtplib
from email.mime.text import MIMEText

APP_PASSWORD = "your-app-password" # アプリのパスワード

mailAddressFrom = "youraddress@gmail.com" # 送信者
mailAddressTo   = "送信先メールアドレス" # 受信者
subject = "テストメール"
body = "プログラムから送信しています"

msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = mailAddressFrom
msg['To'] = mailAddressTo

try:
    smtp = smtplib.SMTP("smtp.gmail.com", 587)

    # SMTPでTLS通信をするためのお作法
    smtp.ehlo() 
    smtp.starttls()
    smtp.ehlo()

    smtp.login(mailAddressFrom, APP_PASSWORD)
    smtp.sendmail(mailAddressFrom, mailAddressTo, msg.as_string())
    smtp.close()
    print("メールを送信しました。")

except Exception as e:
    print(f"送信エラー: {e}")

投稿日時: 2025-06-07 16:02:07
更新日時: 2025-06-08 02:36:08

最近の投稿

最近のコメント

タグ

アーカイブ

その他