GrapeCity Secure Mail for .NET 4.0J > メールの送信(SMTP) > 複数の宛先へメールを送信する |
メールの作成にMailMassageクラスを使用すると、送信メールに対する詳細な設定が可能です。
送信メールに複数の宛先を設定するには、MailMessageクラスのToプロパティに、カンマ区切りで複数のメールアドレスをセットします。
CC(カーボンコピー)やBCC(ブラインドカーボンコピー)を設定する場合は、CcプロパティやBccプロパティを使用します。Toプロパティと同様に、カンマ区切りで複数のメールアドレスも設定できます。
![]() |
このトピックのサンプルコードでは、サーバーとの接続に関する処理を省略しています。接続処理については「SMTPサーバーへ接続する」「SSLでSMTPサーバーへ接続する」「プロキシサーバーを介してSMTPサーバーへ接続する」をご覧ください。 |
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();
.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();
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; }