PythonでEmailを送信する方法【Python応用】

プログラミング
スポンサーリンク

スポンサーリンク

はじめに

今回はPythonの基礎文法を習得して実際にPythonでemailを送信したい方向けにできるだけ簡単に解説しました。

Pythonは人工知能、機械学習、ディープラーニング、データ解析などに特化しており、2020年プログラミング言語人気ランキング1位になっています。

Pythonについて詳しく知りたい方はこちらのウェブサイトをどうぞ。

Pythonの基礎がまだ習得できている自信がない方はこちらの記事も見てみてください。

Pythonでemailを送る方法

今回はhotmailの場合についてやっていきます。

gmailなどのメールでもできますが、手順などが変わっていくのでそちらは会社のルールを見てみてください。

まずは分からないと思いますがコードをみてください。

from email import message
import smtplib

import config

smtp_host = 'smtp.live.com'
smtp_port = 587
from_email = 'xxx@hotmail.com'
from_email = config.from_email
to_email = 'xxx@hotmail.com'
to_email = config.to_email
username = 'xxx@hotmail.com'
username = config.username
password ='パスワードの中身'
password = config.password

import smtplibとはsmtplibサーバーを用いてメールを送りますよということです。

smtp_hostとsmtp_portの部分のsmtp_live.comと587の部分はそういうものもあるんだなという程度で大丈夫です。

xxxの部分には特定の名前を入れてあげてください。

from_emailやto_emailにはそれぞれ対応した実際のメールアドレスを代入してあげましょう。

それでは次に実際にメールで見える内容や件名について設定していきます。

msg = message.EmailMessage()
msg.set_content('メールの内容')
msg['Subject'] = '件名'
msg['From'] = from_email
msg['To'] = to_email

msg.ste_contentの後にメールの本文について書き込んであげます。

そしてメッセージのオブジェクトに件名やfromとtoの情報を追加してあげましょう。

そして最後にメッセージをサーバーに送りつけてあげましょう。

server = setplib.SMTP(smtp_host,smtp_port)
server.ehlo()
server.starttls()
server.ehlo()
server.login(username, password)
server.send_message(msg)
server.quit()

server.ehlo()とはSMTPを使用するときの挨拶のようなものです。

そしてその後にログインパスワードとメッセージオブジェクト(msg)を送ってあげましょう。

最後にサーバーから退出して終了です。

この手順でPythonでメールを送ることができます。

本文や件名やメールアドレスの部分を変更して実際に使ってみてください。

まとめ

from email import message
import smtplib

import config

smtp_host = 'smtp.live.com'
smtp_port = 587
from_email = 'xxx@hotmail.com'
from_email = config.from_email
to_email = 'xxx@hotmail.com'
to_email = config.to_email
username = 'xxx@hotmail.com'
username = config.username
password ='パスワードの中身'
password = config.password

msg = message.EmailMessage()
msg.set_content('こんにちは。今夜20時からレストランに行きませんか?')
msg['Subject'] = '夕食のお誘い'
msg['From'] = from_email
msg['To'] = to_email

server = setplib.SMTP(smtp_host,smtp_port)
server.ehlo()
server.starttls()
server.ehlo()
server.login(username, password)
server.send_message(msg)
server.quit()

この文をメールアドレスやパスワードの体裁を整えて、実行してあげれば

件名:夕食のお誘い本文:こんにちは。今夜20時からレストランに行きませんか?

というメールがホットメールで送られるということです。

Pythonの勉強方法【おまけ】

Pythonの基礎文法を勉強するにはUdemyというオンラインプログラミング学習プラットフォームがおすすめです。

具体的に言うとこちらの講座です。

この講座だけで基礎文法だけでなく実践的な応用スキルまで身につけることができます。

私が受けたPythonの講座の中では最も良かったですし、この講座だけで案件を獲得できるようになるレベルまでプログラミングを上達できることができると思います。

実際多くの人がWeb上で高評価をしていてUdemyのPython講座といえばこの講座と言われているほどです。

今回紹介したemail送信もこの講座の中でより詳しく述べられています。

気になる方はこちらのリンクから。

Udemy

その他の記事

おわりに

今回はPythonの基礎を習得し終わってemailを自動化したい方向けにPython応用としてemail送信について解説しました。

大量のメールを送信しなければならない時にPythonでemailを送ればかなり手間を省くことができると思います。

他にもPythonの記事を挙げているのでそちらも合わせて読んでみてください。

コメント

タイトルとURLをコピーしました