こんにちは今回はpythonでメールを送る方法をお伝えします。一応さくらインターネットを想定したやり方で記載しますが、Gmailや他のサーバでも基本は同じですのでユーザー名やパスワードを変更してお使い下さい。
ではさっそく結論から!
ソースコード
import smtplib from email import message smtp_host = 'xxxxxxxx.yy.zz' #サーバを指定 smtp_port = '587' #ポートを指定(さくらサーバは587でok) smtp_account_id = 'xxxxxx@xxxxxxxx.yy.zz' #アカウントを指定(さくらサーバの場合はメールアドレスでOK) smtp_account_pass = 'xxxxxxx' #パスワードを設定 from_mail = 'xxxxxx@xxxxxxxx.yy.zz' #送信元(自身のメールアドレス)を指定 to_mail = 'xxxxx@xxxxxxxx.yy.zz' #送信先を指定 msg = message.EmailMessage() msg.set_content('本文です'); #本文を入力 msg['Subject'] = '件名です' #件名を入力 msg['From'] = from_mail msg['To'] = to_mail server = smtplib.SMTP(smtp_host, smtp_port, timeout=10) server.login(smtp_account_id, smtp_account_pass) result = server.send_message(msg) server.quit()
解説
まず1~2行目でモジュールを読み込みます。すべて標準のモジュールなので別途インストールは必要ありません。
4~7行目ではホストとユーザーアカウントを指定します。
4行目の「smtp_host」はさくらサーバの場合は「xxxxxxxx.sakura.ne.jp」の初期ドメインになります。独自ドメインを使用している場合はそのドメイン名です。
5行目は「587」でOKです。
6行目の「smtp_account_id」は使用したいメールアドレスを入力します。
7行目の「smtp_account_pass」は使用するメールアドレスのパスワードを入力します。
9行目は送信元のアドレス
10行目は送信先のアドレスを指定します。
13行目はメールの本文
14行目はメールの件名を入力します。
以上で実行すれば、指定したアドレスにメールが届きます。
HTMLメールを作成したい場合は下記を参考にして下さい。
業務支援ツールの製作を致します
株式会社FROMATIONではお客様の用途に合わせたオリジナルの業務支援(自動化)ツールを製作しております。
【毎日の10分を1秒に】
をコンセプトに、お客様の用途に特化したピンポイントな自動化ツールをご提供致します。「大手のRPAソフトを導入するまでもない日常ちょっとした手間」「毎日のルーチンワーク」など、簡単なツールで驚くほど業務が改善する場合もあります。
【毎日こんな作業で困ってるんだけど】
【こんなツール作れないかな】
など企業様も個人様もお気軽にお問い合わせください。
出来ることの一例
- webからのデータ収集
- Excelと連携したデータ処理
- メールの受信と自動返信
- データの自動アップロード
- 画像や音声データの編集・変換処
- 各種SNSの自動処理
上記以外にも出来ることは多数ありますので、お気軽にお問合せ下さい。