メールの作成にMailMassageクラスを使用すると、送信メールに対する詳細な設定が可能です。
送信メールに複数の宛先を設定するには、MailMessageクラスのToプロパティに、カンマ区切りで複数のメールアドレスをセットします。
CC(カーボンコピー)やBCC(ブラインドカーボンコピー)を設定する場合は、CcプロパティやBccプロパティを使用します。Toプロパティと同様に、カンマ区切りで複数のメールアドレスも設定できます。
Dim message As New Dart.Mail.MailMessage()
' TOの宛先メールアドレスを設定します。
message.To = "to1@test.com"
' 複数の宛先を設定するには、カンマ区切りでメールアドレスを追加します。
message.To += ", to2@test.com"
' メールアドレスの表示名を設定するには、以下のように"表示名 <メールアドレス>"の形で記述します。
message.To += ", Toその3 <to3@test.com>"
' CCやBCCも同様です。
message.Cc = "Cc <cc@test.com>"
message.Bcc = "Bcc <bcc@test.com>"
' 差出人、件名、本文を設定します。
message.From = "From <from@test.com>"
message.Subject = "件名の文字列"
message.Text = "本文の文字列"
' 作成したメールを送信します。
Smtp1.Send(message)
' SMTPサーバーとの接続を閉じます。
Smtp1.Close()
Dart.Mail.MailMessage message = new Dart.Mail.MailMessage();
// TOの宛先メールアドレスを設定します
message.To = "to1@test.com";
// 複数の宛先を設定するには、カンマ区切りでメールアドレスを追加します。
message.To += ", to2@test.com";
// メールアドレスの表示名を設定するには、以下のように"表示名 <メールアドレス>"の形で記述します。
message.To += ", Toその3 <to3@test.com>";
// CCやBCCも同様です。
message.Cc = "Cc <cc@test.com>";
message.Bcc = "Bcc <bcc@test.com>";
// 差出人、件名、本文を設定します。
message.From = "From <from@test.com>";
message.Subject = "件名の文字列";
message.Text = "本文の文字列";
// 作成したメールを送信します。
smtp1.Send(message);
// SMTPサーバーとの接続を閉じます。
smtp1.Close();
MailAddressCollectionを使用する方法
.NET Framework標準のMailAddressクラスとMailAddressCollectionクラスを使用して、複数のメールアドレスをコレクションから設定することも可能です。これは旧バージョンの「Secure Mail 2.0J」に類似した方法です。
Dim message As New Dart.Mail.MailMessage()
Dim mc As New System.Net.Mail.MailAddressCollection()
' MailAddressCollectionに複数のメールアドレスを追加します。
mc.Add(New System.Net.Mail.MailAddress("to1@test.com"))
mc.Add(New System.Net.Mail.MailAddress("to2@test.com"))
mc.Add(New System.Net.Mail.MailAddress("to3@mail.com", "Toその3"))
' MailAddressCollectionを文字列に変換して、Toプロパティに設定します。
message.To = mc.ToString()
' CCやBCCにメールアドレスを設定します。
message.Cc = "Cc <cc@test.com>"
message.Bcc = "Bcc <bcc@test.com>"
' 差出人、件名、本文を設定します。
message.From = "From <from@test.com>"
message.Subject = "件名の文字列"
message.Text = "本文の文字列"
' 作成したメールを送信します
Smtp1.Send(message)
' SMTPサーバーとの接続を閉じます。
Smtp1.Close()
Dart.Mail.MailMessage message = new Dart.Mail.MailMessage();
System.Net.Mail.MailAddressCollection mc = new System.Net.Mail.MailAddressCollection();
// MailAddressCollectionに複数のメールアドレスを追加します。
mc.Add(new System.Net.Mail.MailAddress("to1@test.com"));
mc.Add(new System.Net.Mail.MailAddress("to2@test.com"));
mc.Add(new System.Net.Mail.MailAddress("to3@mail.com", "Toその3"));
// MailAddressCollectionを文字列に変換して、Toプロパティに設定します。
message.To = mc.ToString();
// CCやBCCにメールアドレスを設定します。
message.Cc = "Cc <cc@test.com>";
message.Bcc = "Bcc <bcc@test.com>";
// 差出人、件名、本文を設定します。
message.From = "From <from@test.com>";
message.Subject = "件名の文字列";
message.Text = "本文の文字列";
// 作成したメールを送信します。
smtp1.Send(message);
// SMTPサーバーとの接続を閉じます。
smtp1.Close();
MailMessageからMailAddressCollectionを作成する方法
MailMassageクラスに設定されたメールアドレスを、MailAddressCollectionクラスに変換することも可能です。
Imports System.Net.Mail
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
' msg.ToをMailAddressCollectionに変換します。
' msgはMailMessageクラスのオブジェクトです。
Dim mc As MailAddressCollection = getMailAddresses(msg.To)
Debug.Print(mc.ToString())
End Sub
Private Function getMailAddresses(ByVal addresses As String) As MailAddressCollection
Dim mc As New MailAddressCollection()
If Not String.IsNullOrEmpty(addresses) Then
' アドレスの区切り文字に";"が使用されていた場合、","に置換します。
addresses = addresses.Replace(";", ",")
Dim txtMailAddress() As String = addresses.Split(",")
For Each s As String In txtMailAddress
' 区切り文字ごとにアドレスを取り出し、MailAddressCollectionに追加します。
mc.Add(New System.Net.Mail.MailAddress(s))
Next
End If
Return mc
End Function
using System.Net.Mail;
private void button1_Click(object sender, EventArgs e)
{
// msg.ToをMailAddressCollectionに変換します。
// msgはMailMessageクラスのオブジェクトです。
MailAddressCollection mc = getMailAddresses(msg.To);
System.Diagnostics.Debug.Print(mc.ToString());
}
private MailAddressCollection getMailAddresses(string addresses)
{
MailAddressCollection mc = new MailAddressCollection();
if (!string.IsNullOrEmpty(addresses))
{
// アドレスの区切り文字に";"が使用されていた場合、","に置換します。
addresses = addresses.Replace(";", ",");
string[] txtMailAddress = addresses.Split(',');
foreach (string s in txtMailAddress)
{
// 区切り文字ごとにアドレスを取り出し、MailAddressCollectionに追加します。
mc.Add(new MailAddress(s));
}
}
return mc;
}