はじめに
クライアントや顧客に数千通のパーソナライズされたメールを送信したいが、MailChimpやHubSpotなどのサードパーティSaaSサービスに連絡先を共有したくない、あるいは高額な費用をかけたくないとお考えではありませんか?私たちは、スプレッドシートテンプレートとPythonスクリプトを組み合わせ、ご自身のパソコンから自動的にカスタマイズメールを送信できるソリューションを開発しました。他のオンラインメールサービスとは異なり、このツールは無料でご利用いただけ、ご自身のパソコン上で動作するため、メールリストや内容、添付ファイル、認証情報などの機密情報を安全かつプライベートに保つことができます。さらに、さまざまなメールスタイルやオプションから選択でき、受信者ごとに最適なメッセージを送信できます。
本記事では、以下の内容についてご案内します。
- メール送信のための認証情報をスプレッドシートに設定する方法
- ご自身のパソコンにPythonをインストールし、セットアップする方法
- スクリプトを実行して自動的にメールを送信する方法
本テンプレートには、スプレッドシート、Pythonスクリプト、補助ファイルが圧縮ファイルとして含まれています。テンプレートを解凍または展開した後は、すべてのファイルを展開したフォルダ内に保管してください。スプレッドシートのテンプレートはPythonスクリプトの動作に不可欠ですので、列名やフィールド、全体の構造を変更しないようご注意ください。青色のフィールドのみ編集してください。
スプレッドシート テンプレート
メール設定
当社のスプレッドシートテンプレートには、メール送信に必要な一般設定や構成をまとめたタブが用意されています。「Fields」タブでは、接続タイプ、添付ファイルの有無、送信開始行、すべてのメールの末尾に署名を追加するオプションなどを設定できます。
SMTPとGmail API接続の違い
テンプレートには2種類の接続オプションがあります。1つはSMTPで、Hotmail、Outlook、Yahooなどのメールサーバーに適しています。もう1つは、Googleユーザー向けのGmail API接続(GmailまたはGoogle Worksuite)です。接続タイプはドロップダウンメニューから選択してください。SMTP接続の場合は、ご利用のメールプロバイダーのサーバー名とポート番号を入力する必要があります。この情報はオンライン検索で簡単に見つけることができます。例えば、「[あなたのメールプロバイダー名] SMTPサーバーとポート設定」と検索してください。例:「Yahoo SMTPサーバーとポート設定」。
SMTPを利用する場合、テンプレートにご自身のメールアドレスやパスワードなどの認証情報を入力する必要があります。これらの情報はすべてご自身のパソコン内にのみ保存され、第三者と共有されることはありません。さらにプライバシーを強化したい場合は、テンプレート内でこれらのフィールドを非表示にすることも可能です。ただし、認証情報を入力したスプレッドシートは、他人と共有しないようご注意ください。
一方、Google API接続を選択した場合は、追加のSMTP情報は不要です。Google APIがすべてを管理し、Pythonスクリプトの実行時に自動的に接続が確立されます。必要なのは、通常通りGmailまたはGoogle Worksuiteアカウントにサインインすることだけです。ログイン情報は保存されないため、スクリプトを使用するたびにログインが必要となります。これにより、お客様の情報は常にプライベートかつ安全に保たれます。
一般設定
その他の設定オプションとして、送信メールに添付ファイルや署名を追加することが可能です。添付ファイルを有効にするには、該当するドロップダウンから「はい」を選択してください。スクリプト実行時に、添付するファイルを1つ選択するよう求められます。同様に、署名を有効にする場合は「はい」を選択し、ご希望の署名を作成してください。メール内での署名の表示イメージは、サイドのプレビューでご確認いただけます。
最後に、メール送信を開始する行を選択できます。例えば、リストに100件のメールアドレスがあり、最後の50件だけに送信したい場合は、開始位置を調整することが可能です。この機能は、送信中に問題が発生した場合や、途中から再開して重複送信を防ぎたい場合に特に便利です。
メールリスト
メール受信者
当社のテンプレートを利用することで、作成したメールにカスタムフィールドを差し込むことで、すべての連絡先にパーソナライズされたメールを送信できます。メールをパーソナライズすることは、受信者の受信トレイに確実にメールが届くために重要です。さらに、各連絡先ごとにカスタムURLや日付、事実、数値などを個別に送信できるメリットもあります。
受信者ごとに個別のメールを作成する代わりに、当社のテンプレートでは、連絡先ごとに定義したカスタムフィールドをメール本文や件名に統合し、[Column1]から[Column10]までの変数を自動的に置き換えます。Pythonスクリプトがメール送信時にこれらの変数を実際のデータに自動変換するため、全員分の個別メールを作成する手間が省けます。これらのフィールドを活用して、自由にメール内容を工夫してください。
メール内容
このテンプレートでは、最大6種類のメール内容を作成できます。5つのタブは標準メール用で、6つ目のタブはHTMLベースのレイアウトでカスタマイズ可能です。ただし、HTMLの知識は不要ですのでご安心ください。まずは標準メールタブから始めましょう。これらのメールのレイアウトはカスタマイズできませんが、送信したいメール内容は自由に編集できます。[double]
[text]メールの件名および本文欄にメッセージを入力してください。件名や本文にメッセージを入力する際は、[Column1]から[Column10]までを使用して、受信者ごとのカスタムフィールドとメール内容を差し込むことができます。よりパーソナライズされた印象を与えたい場合は、「HTMLメール」タブが最適です。このタブでは、テキストのスタイル調整、リンクの追加、見出しタイプの選択が可能です。これらのカスタマイズは、それぞれの横にあるドロップダウンメニューから選択できます。
各項目を選択すると、メールは自動的に更新され、整理された見た目になります。また、「フィールド」タブで設定した内容はすべて引き継がれます。署名や添付ファイルを有効にしている場合、それらもすべてのメールに自動的に組み込まれます。
Pythonスクリプト
Pythonスクリプトを実行する前に、お使いのパソコンにPythonをインストールする必要があります。Pythonは、Windows、Mac、Linuxの各OSで動作するシンプルなプログラミング言語です。Pythonがインストールされていない場合、スクリプトは実行できず、正しいテンプレートを用意していてもメールは送信されません。
Pythonのインストール方法
Pythonをセットアップするには、以下の手順に従ってください。
- Python公式サイトにアクセスしてください: Python公式ウェブサイト
- 「ダウンロード」からバージョン3.11以降を選択してください。
- ダウンロードしたインストーラーを起動し、インストールを開始します。
注意: Windowsユーザーは、インストール時に「Add Python to PATH」オプションに必ずチェックを入れてください。この手順を省略した場合は、Pythonをアンインストールし、再インストール時に必ずパスオプションを選択してください。この設定は、今後Windowsの「コマンドプロンプト」でスクリプトを実行するために非常に重要です。
Pythonライブラリ
Pythonライブラリを活用することで、Gmail APIとの連携やExcelファイルの読み込みなど、スクリプトの機能を大幅に拡張できます。本ツールで必要となるすべてのライブラリは、ダウンロードを容易にするため「requirements.txt」ファイルにまとめて記載されています。これらのライブラリがなければ、スクリプトは動作しません。セットアップは一度だけ行えば十分です。
テンプレートを解凍または展開し、WindowsおよびMacの両方で「email_sender」というフォルダに保存されます。これから、Windowsで必要なライブラリのインストール方法とメール送信ツールの実行手順を説明し、その後Macでの手順もご案内します。
以下は、これらのPythonライブラリをインストールするためのステップバイステップガイドです。
Windows
- Windowsでは、フォルダを右クリックして「パスのコピー」を選択し、後で貼り付けられるようにします。
- Windowsで「コマンドプロンプト」を開きます。
- コマンドプロンプト内で「cd」と入力し、ファイルが配置されているフォルダのパスを貼り付けます。フォルダがデスクトップ上にある場合の例です: cd C:\Users\example_user\Desktop\email_sender
- その後、「Return」キーを押して該当フォルダに入ります
- フォルダ内で次のコマンドを入力します: pip3 install -r requirements.txt
- そして「Enter」キーを押してください。これにより、メール送信ツールの動作に必要なファイルがすべてダウンロードされます。
- 最後に、Excelシートの設定が完了したら、次のコマンドを入力してメール送信を開始できます: python3 email_sender.py
- これで完了です。「Enter」キーを押すと、メールの送信が開始されます。
メール送信中は、コマンドプロンプト上で全てのログや詳細を確認できます。今後はライブラリを繰り返しインストールする必要はありません。再度メール送信を行う場合は、「コマンドプロンプト」から該当フォルダに移動し、最後の「python3」コマンドを入力してください。
Macの場合
- 「email_sender」というフォルダを右クリックします。これはテンプレートを解凍または展開した際に作成されたフォルダです。
- 次に「New Terminal at Folder」を選択してください。これにより、解凍したフォルダ内で自動的に新しいターミナルコマンドプロンプトが開きます。
- 最後に、pip3 install -r requirements.txt と入力してください。
- そして「Return」キーを押すと、メール送信ツールに必要なすべてのライブラリがダウンロード・インストールされます。
- 最後に、Excelスプレッドシートの設定が完了したら、python3 email_sender.py と入力してください。
- そして「Return」キーを押すと、カスタムメールの送信が開始されます。
Windowsの手順と同様に、ライブラリを何度も再インストールする必要はありません。メール送信を開始するには、「Terminal」からフォルダに戻り、最後の「python3」コマンドを入力するだけです。
Pythonスクリプトのワークフロー
Pythonスクリプトはシンプルかつ直接的に動作します。最初にExcelファイルを確認し、Fieldsタブに入力されたすべての設定情報を取得します。たとえばファイル添付を有効にしている場合は、すべてのメールに添付するファイルを選択するよう促されます。
SMTP接続オプションを利用する場合、スクリプトは指定したメールプロバイダーと接続を確立します。Gmail APIオプションを選択した場合は、GmailまたはGoogle Worksuiteアカウントへのログイン用ウェブページが自動的に開かれます。
このAPI機能は、本タスクのために特別に設計されています。ご利用の際は、Pythonにログイン情報の使用許可を与えてください。Pythonが強調している通り、このアクセス権はメール送信のためだけに使用されます。ログイン情報やその他の詳細が、You ExecやPythonによって共有または保存されることはありません。必要な権限をすべて付与すると、アクセスが承認された旨の確認メッセージが表示されます。
認証情報が確認されると、スクリプトはメール送信プロセスを開始します。各メール送信時には、コマンドプロンプトまたはターミナルに、メールの種類と送信先を示す確認メッセージが表示されます。この処理はすべてのメール送信が完了するまで続きます。最後に、送信したメールの総数と所要時間をまとめたレポートが表示されます。メール送信中にエラーが発生した場合、スクリプトが通知し、最後に送信されたメールを表示します。これにより、次回メール送信を再開する際に中断した箇所から続けることができます。再開するには、Excelファイル内の「メール送信開始行」フィールドを変更してください。
このスクリプトには保護機能も備わっています。例えば、インターネットに接続されていない場合や、テンプレートが正しく入力されていない場合、または元ファイルの構造が変更された場合など、スムーズな動作を妨げる状況を自動的に認識します。さらに、Googleスプレッドシートをご利用の場合も同様にご活用いただけます。「ファイル > ダウンロード > Microsoft Excel」を選択してExcel版をダウンロードし、他の書類と同じフォルダに保存してください。必要に応じて、常に最新バージョンで上書きすることも可能です。
まとめ
本ツールが皆様のメール送信業務の効率化に役立つことを願っております。ご利用のご感想やご質問がございましたら、ぜひお聞かせください。このテンプレートをご利用いただく中で、ご要望や追加機能のリクエストがございましたら、ぜひご意見をお寄せください。今後もこのメール送信ツールの改善に努めてまいります。ご視聴いただき、誠にありがとうございます。