GrapeCity Secure Mail for .NET 4.0J
複数の宛先へメールを送信する

メールの作成に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();

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;
}

 

 


© 2003, GrapeCity inc. All rights reserved.