AI活用術 仕事

Pythonでメール送信するプログラムを作成する方法

1. 必要なライブラリのインストール

まず、メール送信に必要なPythonのライブラリをインストールします。標準ライブラリを使用するので、特別なインストールは不要ですが、環境によってはpandasを使用してExcelファイルを読み取ることがあるため、その場合は以下のコマンドを実行してください。

pip install pandas openpyxl

2. Pythonプログラムの作成

次に、以下のPythonコードを作成します。このプログラムは、Excelファイルから業務終了時刻と実績を読み取り、上司にメールを送信します。

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import pandas as pd

# Excelファイルから業務終了時刻と実績を読み込む
def read_report_data(file_path):
    df = pd.read_excel(file_path, sheet_name="業務報告")
    end_time = df.iloc[0, 1]  # B1セル
    achievement = df.iloc[1, 1]  # B2セル
    return end_time, achievement

# メールを送信する
def send_email(to_address, subject, body):
    from_address = "your_email@example.com"
    password = "your_password"

    # メールの設定
    msg = MIMEMultipart()
    msg['From'] = from_address
    msg['To'] = to_address
    msg['Subject'] = subject

    msg.attach(MIMEText(body, 'plain'))

    # メールサーバーに接続してメールを送信
    try:
        server = smtplib.SMTP('smtp.gmail.com', 587)
        server.starttls()
        server.login(from_address, password)
        text = msg.as_string()
        server.sendmail(from_address, to_address, text)
        server.quit()
        print("メールが送信されました。")
    except Exception as e:
        print(f"エラーが発生しました: {e}")

# メイン処理
def main():
    # Excelファイルのパス
    file_path = "report.xlsx"

    # 業務終了時刻と実績を取得
    end_time, achievement = read_report_data(file_path)

    # 上司のメールアドレス
    to_address = "boss@example.com"

    # メールの件名と本文
    subject = f"業務終了報告: {pd.Timestamp.now().strftime('%Y/%m/%d')}"
    body = f"""
    お疲れ様です。

    本日の業務が終了しましたので、以下の通り報告いたします。

    【業務終了時刻】: {end_time}
    【実績内容】: {achievement}

    ご確認のほどよろしくお願いいたします。
    --------------------------------------------------
    このメールは自動送信されました。
    """

    # メールを送信
    send_email(to_address, subject, body)

if __name__ == "__main__":
    main()

3. プログラムの動作

  1. Excelファイルの準備
  • 「業務報告」というシートを持つExcelファイルを作成し、A1セルに「業務終了時刻」、A2セルに「実績内容」、B1セルに終了時刻、B2セルに実績を記入します。
  • ファイル名を report.xlsx とし、同じディレクトリに保存してください。
  1. プログラムの実行
  • 上記のPythonコードを実行すると、Excelファイルからデータを読み込み、指定した上司のメールアドレスにメールが送信されます。

4. 注意点

  • Gmailの設定: Gmailを使用する場合、セキュリティ設定で「安全性の低いアプリのアクセス」を許可する必要があります。最近のGoogleのアップデートでこの設定が難しくなっているため、アプリパスワードを設定するか、OAuth2を使う方法も検討してください。
  • ファイルパスとシート名: file_path や sheet_name は適宜変更してください。

このプログラムを利用することで、業務終了時の報告メールを自動化でき、業務効率が向上します。

-AI活用術, 仕事

GooDeveLuckをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む