![見出し画像](https://assets.st-note.com/production/uploads/images/113013763/rectangle_large_type_2_7201368f6caa0d9762f42bc0e5eb06d6.png?width=1200)
The Complete Python Pro Bootcamp 2023: Day 32/100
コーディング100日間の挑戦の32日目は、PythonのSMTP (Simple Mail Transfer Protocol)とdatetimeモジュールを学びます。SMTPはPythonでメールを送るため、datetimeは日付と時間を管理するためのモジュールです。
自動誕生日メッセージ送信ツールと、毎週月曜日にモチベーション引用文を送るミニプロジェクトを通して、これらのモジュールの理解を深めます。
最後に、自動誕生日メッセージ送信ツールを日々実行するためのPythonAnywhereというプラットフォームを紹介します。このプラットフォームでは、特定の時間に毎日Pythonスクリプトを実行するタスクをスケジュールすることが可能です。
コーダー諸君、100日コードの旅32日目へようこそ。今日はPythonの2つの魅力的なトピックにスポットライトを当てます: メール送信のためのSMTP (Simple Mail Transfer Protocol)とdatetimeモジュールです。さあ、飛び込みましょう!
最初の分野はSMTPとPythonを使ったメール送信です。このスキルの実用的なアプリケーションの1つは、自動誕生日お祝いツールの作成です。このツールは、友人や家族の特別な日にパーソナライズされた誕生日メールを送ることで、喜びを広げるのに役立ちます。誕生日のスプレッドシートを検索し、ランダムにメールを選んで各人に送信するプログラムを想像してみてください。あなたの大切な人に、彼らが覚えていて大切にしていることを伝える、シンプルでインパクトのある方法です。次回のレッスンでは、smtplibモジュールを使ってメールを送信する方法を説明します。
Eメールの送信といえば、Eメールが舞台裏でどのように機能しているかを理解することも不可欠です。電子メールは、送信者の電子メール・サーバーと受信者の電子メール・サーバーの間を移動しますが、このプロセスはSMTPによって管理されています。メールサーバーは郵便局で、SMTPは配達を処理する郵便配達人だと思ってください。PythonがSMTP経由で電子メールを送信するために使用するsmtplibライブラリを紹介し、テスト用電子メールアカウントの設定、電子メールプロバイダーのSMTPサーバーとの接続、TLSによる接続の保護、ログイン、そして最後に電子メールの送信を案内します。
次に、datetimeモジュールに注目する。このPythonモジュールは、日付と時刻を管理・操作するための強力なツールです。その中のdatetimeクラスにアクセスすることで、現在の日付と時刻を取得することができます。また、これらの詳細を変数に格納したり、印刷したり、年、月、日、時、分などの個々の属性にアクセスしたりすることもできます。さらに、曜日を決定するメソッドや、特定の日時のdatetimeオブジェクトを作成するメソッドも用意されている。
さて、これらの学習をミニ・プロジェクトで実践してみよう。このアプリケーションは、smtplibとdatetimeの両方を使い、やる気を起こさせるような引用のファイルからランダムに引用を選び、毎週月曜日に私たちにメールで送ります。これは、一週間をポジティブな気分で始めるための素晴らしい方法であり、また、これらのモジュールの理解を深めるための素晴らしい方法でもある。
グランド・フィナーレとして、最後のプロジェクトを紹介しよう。このプロジェクトは、CSVファイルの取り扱い、テキスト置換、ファイル操作、datetimeモジュール、smtplibなど、このコースの複数のスレッドを織り交ぜています。
また、通常のスタートプロジェクトである自動バースデーウィッシャーのソリューションとウォークスルーも提供します。ここでは、必要なモジュールのインポート、CSVファイルからの読み込み、一致する誕生日のチェック、ランダムなレターテンプレートの選択、プレースホルダーを誕生日の人の名前に置き換え、メールを送信する方法を紹介します。また、よくある間違いに注目し、それを修正します。
最後に、PythonAnywhereでホスティングすることで、自動化されたbirthday wisherコードを毎日実行する方法について説明します。このプラットフォームでは、タスクをスケジューリングし、毎日特定の時間にPythonスクリプトを実行することができます。
このエキサイティングな旅の次のステップにご期待ください。コーディングを続け、学び続け、そして最も重要なことは、そのプロセスを楽しむことだ!
関連リソース