今回は社内でよくある確認メールをPythonを使って自動化する方法についてお話しします。
毎月毎週、同じような内容のメールを送信している情シスの方も多いのではないでしょうか?
そんな時Pythonを使えば手間を大幅に削減できます。
退屈な作業を自動化してみましょう。
処理の流れを解説
テキストファイルを読み込む
まずはテキストファイルを読み込む方法から練習を始めましょう。
Pythonでは簡単なコードでファイルの読み書きができます。
例えば、以下のようにしてテキストファイルを読み込むことができます。
事前に テストファイル.txt という名前のテキストファイルを作成しておいてください。
with open('テストファイル.txt', 'r', encoding='utf-8') as file:
content = file.read()
簡単ですね。
このコードを使えば、指定したテキストファイルの内容を変数(content)に読み込むことができます。
メールを送る
次にPythonを使ったメールの送り方を紹介します。
smtplibモジュールを使用することで簡単にメール送信ができます。
以下はその一例です。
SMTPサーバーや利用するポート、プロトコル、メールアドレス等は社内の環境に合わせてください。
なお、こういったテストをする際はその旨を他の情シスメンバーと必ず共有しましょう。
想定外の事象が起きた際の対応が変わってくるかと思います。
import smtplib
from email.mime.text import MIMEText
# メール設定
subject = '確認メール'
body = 'これはPythonで送信したメールです。'
to_email = '相手のメールアドレス@example.com'
from_email = '自分のメールアドレス@example.com'
# メール本文の設定
message = MIMEText(body)
message['Subject'] = subject
message['From'] = from_email
message['To'] = to_email
# メールサーバに接続してメール送信
server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()
server.login(from_email, 'パスワード')
server.send_message(message)
server.quit()
テキストファイルの内容を取り込んでメールで送信する
最後に上の例で読み込んだテキストファイルの内容をメールの本文として送信する方法をご紹介します。
前述のテキストファイル読み込みのコードを組み合わせることで簡単に実現できます。
import smtplib
from email.mime.text import MIMEText
# テキストファイル読み込み
with open('テストファイル.txt', 'r', encoding='utf-8') as file:
content = file.read()
# メール設定
subject = '確認メール'
to_email = '相手のメールアドレス@example.com'
from_email = '自分のメールアドレス@example.com'
# メール本文の設定
message = MIMEText(content)
message['Subject'] = subject
message['From'] = from_email
message['To'] = to_email
# メールサーバに接続してメール送信
server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()
server.login(from_email, 'パスワード')
server.send_message(message)
server.quit()
これでPythonを使って確認メールの自動送信ができるようになりました。
ただし気をつけなければならない点もありますので以下に注意事項をいくつか挙げておきます。
注意事項
セキュリティの確保
メールアカウントやパスワードなどの情報を含むスクリプトを適切に管理し不正アクセスから情報を守りましょう。
特にプログラム内に平文でパスワードを保存するのは避けましょう。
送信先の確認
テスト環境での確認を怠らず実際の業務に適用する前に正確な送信先を確認しましょう。
間違って社内の情報を関係会社や取引先に送ってしまうと信用問題にかかわります。
そのようなトラブルを避けるためにも事前の確認は重要です。
自動送信のスケジュール
業務の進行に合わせて適切なスケジュールを設定し無駄なメールの送信を避けましょう。
チームへの周知
社内のチームメンバーにこのような自動化をしていることを周知することが必要です。
自動化プログラムの存在を誰も把握していないのはあまり良い状況ではありません。
万が一に備える意味でチームのメンバーには周知をし、可能な限りドキュメントも共有しておくべきでしょう。
このようなポイントに気をつけながらPythonを活用して業務を効率的に自動化していくことが大切です。
まとめ
今回はPythonを使用して確認メールの自動送信についてご紹介しました。
プログラムの例ではテストファイル.txtの内容については触れませんでしたが、中身にも少し工夫が必要です。
せっかくメール送信を自動化したのにファイルの作成や修正に時間がかかるのでは本末転倒ですのでここのメンテナンスも最小限の手間で済むようにしたいところです。
手動で繰り返し行っていた業務を自動化することで時間の節約や誤りの回避が期待できます。
是非これを機にPythonの力を仕事に活かし、より効率的な業務運営を目指してみてください。
コメント