smtp.gmail.comを使って外部ドメインの人にメールを送る必要があり、調べてみました。
手順としては、
- アプリパスワードの入手
- opensslからのメール送信
となります。
アプリパスワードの入手
メール送信時に使うパスワードを入手します。
- 自分のGmailアカウントでGmailなどにログインする
- 右上の自分の名前が表示された丸いアイコンをクリック → 『Googleアカウントを管理』をクリック
- 画面左上の『Googleアカウント』という文字列右側の入力フィールドに『アプリパスワード』と入力し、アプリパスワード作成画面を開く
- アプリ名やデバイス名は適当にわかりやすい物を入力するか、『メール』/『Windowsパソコン』などを選んでおく
- 『生成』ボタンを押すと16桁のアプリパスワードが表示されるので、コピペしておく(一度しか表示されないので注意!)
opensslからのメール送信
WSL2なUbuntuからメールを送信してみました。
# 自分のメールアドレスをbase64化する echo -ne 'foo@gmail.com' | base64 Zm9vQGdtYWlsLmNvbQ== # アプリパスワードをbase64化する echo -ne 'myapplipassword' | base64 bXlhcHBsaXBhc3N3b3Jk # openssl で smtp.gmail.com に接続する openssl s_client -connect smtp.gmail.com:465 -crlf -ign_eof # こんにちわをする EHLO smtp.gmail.com # ログイン開始宣言 AUTH LOGIN # base64化した自分のメアドを流し込む Zm9vQGdtYWlsLmNvbQ== # base64化したアプリパスワードを流し込む bXlhcHBsaXBhc3N3b3Jk # 送信元を指定 MAIL FROM: <foo@gmail.com> # 宛先を指定 RCPT TO: <recepter@example.com> # 本文を流し込む DATA from:foo@gmail.com to:recepter@example.com Subject:testmail this is a test mail from smtp.gmail.com . # 終了 quit
以上です。