0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人開発】CSVでまとめてメール送信。メールの宛名を1件ずつ書き換える作業を自動化できます。

0
Last updated at Posted at 2026-09-21

このアプリでできること

  • 会員への更新案内や、イベント参加者へのお知らせ。
  • 有料メーリングリストを使わなくても顧客に応じた内容で一括送信が可能。
  • 送る文章はほとんど同じなのに、名前や日付だけが違うメールの一括送信。
  • ある人には英語、ある人には中国語で送信。
  • このアプリに1日の送信数上限はありません。

本文をコピーして、宛名を直して、送り先を変える。それを人数分繰り返すのは、なかなか手間です。この作業をCSVからまとめて行えるWindowsアプリが、CsvMail Senderです。

テンプレートは、if文による条件分岐に対応しているので、顧客に応じて柔軟に内容を変えられます。

名簿を読み込んで文章を一つ用意すると、相手ごとのメールを作成できます。できあがった内容を画面で確認し、そのまま送信するところまで対応しています。CSV名簿全体を自動的に送信できます。

送信数の上限については、例えば無料のGoogleアカウントだと、一日100件が上限ですが、このアプリには上限はありません。

利用しているメールサーバーの規約に依存します。
例えば、Xサーバーを利用している場合

  • 1日あたりの送信数目安: 15,000通 / 日
  • 1時間あたりの送信数目安: 1,500通 / 時間
    ※スパム認定されない様な工夫として、各種ウエイトを設定できます。

フォワードデプロイドエンジニア(FDE)として、小規模店舗や個人事業主、スタッフの皆さんの意見を聞きながら、作ったのでかなり使えるものになったと思います。

完全無料のオープンソース、MITライセンスで公開しています。

CsvMail Senderのメイン画面。左側でCSVを選び、右側でメールの文章を編集します

例えば、会員ごとに違う有効期限を案内する

次のような名簿から、更新案内を送る場面で説明します。

メール 氏名 プラン 有効期限
yamada@example.com 山田 太郎 スタンダード 2026/10/31
suzuki@example.com 鈴木 花子 プレミアム 2026/11/30

※名前とアドレスは説明用です。

用意する文章は一つです。相手によって変えたい部分に、[[氏名]] のように列名を入れておきます。

[[氏名]] 様

ご利用中の「[[プラン]]」プランについてのお知らせです。
有効期限は [[有効期限]] です。

継続をご希望の場合は、期限までに更新手続きをお願いします。

山田さん宛てのメールでは、こうなります。

山田 太郎 様

ご利用中の「スタンダード」プランについてのお知らせです。
有効期限は 2026/10/31 です。

継続をご希望の場合は、期限までに更新手続きをお願いします。

鈴木さん宛てなら、名前は「鈴木 花子」、プランは「プレミアム」、期限は「2026/11/30」に変わります。

CSVの1行が、1通のメールになるという仕組みです。それぞれの行のアドレスへ、差し替えた文章を送ります。

この「決まった場所に名簿の値を入れること」を、差し込みと呼んでいます。名前のほか、会社名、予約日時、受付番号なども、CSVの列にしておけば文章に入れられます。

使う前に用意するもの

必要なのは、Windows PC、宛先などを入れたCSV、メールを送るためのSMTP設定です。

SMTPは、メールの送信先サーバーの設定です。利用するメールサービスの案内に従って、サーバー名、ポート番号、認証情報などを指定します。

アプリはダウンロードページの「Assets」から取得できます。v1.0.3では CsvMailSender.exe と、ARM64用の CsvMailSenderARM64.exe を公開しています。

起動したら、まず「設定 → SMTP設定」を開きます。差出人のメールアドレスなどを入力し、テスト送信先を自分のアドレスにして、設定画面からテストメールを送ってみてください。

ここでは、メールを送れる状態になっているかを確認します。本文に名簿の値を入れるのは、このあとです。

CSVを読み込んで、メールを作る

1. 名簿をCSVで保存する

先ほどの表をCSVにすると、次の内容になります。

メール,氏名,プラン,有効期限
yamada@example.com,山田 太郎,スタンダード,2026/10/31
suzuki@example.com,鈴木 花子,プレミアム,2026/11/30

Excelで名簿を作っている場合も、CSV形式で保存して使えます。アプリはUTF-8とShift-JISに対応しています。

アプリ左側の「参照」からCSVを開き、「メール列」で宛先アドレスが入っている列を選びます。この例では「メール」です。

続けて「CSVプレビュー」を開き、日本語が文字化けしていないか、読み込んだ件数が合っているかを確認します。

2. 件名と本文を書く

右側の「テンプレート編集」に、件名と本文を入力します。テンプレートは、繰り返し使うメールのひな形です。

今回の件名は「ご利用プランの更新について」として、本文には先ほどの [[氏名]] などを入れた文章を貼り付けます。

[[氏名]] はCSVの「氏名」列、[[有効期限]] は「有効期限」列に対応します。タグは画面の候補から挿入できるので、列名を一つずつ打ち直す必要はありません。

文章ができたら、テンプレート名を付けて「テンプレート保存」を押します。同じ形式の案内なら、次回もこのひな形を使えます。

3. 相手ごとの仕上がりを見る

「メールプレビュー」を開くと、CSVの値が入ったメールを確認できます。

メールプレビュー。上の一覧で相手を選ぶと、その人に送る件名や本文を下で確認できます

※画面はリポジトリ掲載のサンプルです。この記事の名簿とは内容が異なります。

一覧から山田さんの行を選んで、宛名、プラン、有効期限を見る。次に鈴木さんの行を選んで、内容が変わっているかを見る。

ここで確認するのは、ひな形ではなく、その人に送る文章です。添付を指定した場合は、ファイルも一緒に確認できます。

送る前にチェックして、まずは自分に1通

文章ができたら「送信前チェック」を開きます。

メールアドレスの形式がおかしい、CSVにない列名を文章に使っている、指定した添付ファイルが見つからない、といった問題が一覧に出ます。同じ宛先・件名・本文のメールが送信対象に重複している場合も確認できます。

チェック結果を見直したら、メールプレビューで1行選び、「選択行をテスト送信」を押します。自分のアドレスを指定すれば、差し込み後の本文や添付を、普段使っているメールソフトで確認できます。

最初のSMTP設定でのテストは「送れるか」の確認。こちらは「どう届くか」の確認です。

このテストでは元のCC/BCCを外し、件名に [Preview Test] を付けて送ります。

確認が済んだら、送信する行にチェックを入れて「送信開始」へ進みます。最終確認画面で件数や警告を確認し、送信を開始します。

送信間隔や1分あたりの送信数も調整できます。ここは使っているメールサービスの送信上限に合わせて設定してください。

添付やCCも相手ごとに変えられます

ここまでは本文の差し込みだけを紹介しましたが、取引先ごとに資料を付けたり、担当者をCCに入れたりする使い方もできます。

したいこと 設定する内容
全員に同じ案内資料を添付する 共通添付にファイルを指定する
相手ごとに別の資料を添付する CSVにファイルの保存場所を入れた列を作り、添付列として選ぶ
取引先ごとに担当者をCCに入れる CSVにCCの列を作り、その列を指定する

これらの項目は「表示 → UIモード → 詳細」で表示できます。通常の本文差し込みから始めるなら、「基本」モードで使えます。

ほかにも、日本語と英語で文章を切り替える条件分岐や、フォルダー内の複数CSVをまとめて読み込む機能があります。必要になったときは、マニュアルのテンプレート構文・CSV読み込みの説明を参考にしてください。

送信したあとは、結果を確認する

送信画面では進み具合と各メールの結果を確認でき、結果の書き出しや失敗分の再送ができます。

過去の送信を調べたいときは「表示 → 送信履歴」を開きます。あとから「あの案内は送れたかな」と確認するための画面です。

なお、開封率やクリック率の分析、購読解除の管理まで行うメール配信サービスではありません。CSVの名簿を使って、案内メールを作り、内容を確認しながら送る用途に向いています。このあたりの用途は紹介ブログにもまとめています。

実装はC#とWindows Forms、.NET 10で、メール送信にはMailKitを使っています。ソースコードはMITライセンスで公開しているので、中身が気になる方はリポジトリも見てもらえるとうれしいです。

試すための日本語サンプルCSVとテンプレートも用意しています。まずは少ない件数を読み込んで、名前が入ったメールをプレビューするところから試してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?