【VB.NET】 メールの新規作成画面を開く
仕事で大量の宛先にメールを送らないと行けない作業が発生しました。メールは1通ずつ確認してから送信したかったので、方法を探してみました。 結果的に規定のメーラーの新規作成画面を開くときに、宛先、題名、本文を入力された状態で開くことができそうだったので、それを活用することにしました。
以下のメソッドを使いました。
System.Diagnostics.Process.Start(“mailto:<宛先>?cc=<CC>&bcc=<BCC>&subject=<件名>&body=<本文>”)
メモとして、メーラーの新規作成画面を開くコードを貼付けておきます。
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim addr As String = "" 'アドレス Dim subj As String = "" '題名 Dim body As String = "" '本文 'アドレスをセット addr = "test@aaa.com;test2@aaa.com" '複数送信先は;で区切る '題名をセット subj = "テストメール タイトル" '本文をセット body = body & "○○○様" & "%0D%0A" body = body & "" & "%0D%0A" body = body & "お疲れ様です。△△△です。" & "%0D%0A" body = body & "テストメールを送信します。" & "%0D%0A" '改行コードは「%0D%0A」で表す 'メール作成フォームを開く System.Diagnostics.Process.Start("mailto:" & addr & "?subject=" & subj & "&body=" + body) End Sub End Class
後は宛先、タイトル、本文をCSVなどで取り込み、処理をまわせば送信手前の新規作成の状態で表示されます。
本文中の改行は「%0D%0A」を使っています。
以下のページを参考にしました。 .NET TIPS プログラムからブラウザやメーラを起動するには?