Reply-To、Sender、X-Mailerなどのヘッダを追加してメールを送信する
注意:以下のサンプルコードの送信者と送信先、Reply-Toは必ず変更するようにしてください。
.NET Framework 2.0以降で、SmtpClientクラスを使用する方法SmtpClientクラスでは、Reply-To(メールの返信先)とSender(メールの実際の送信者)はそれぞれ、ReplyToとSenderプロパティで指定できます。こちらに具体例があります。 X-Mailer(メーラーの種類)などのヘッダを追加してメールを送信するには、MailMessage.Headerプロパティにヘッダを追加します。 以下に、X-Mailerを追加してメールを送信する例を示します。 'MailMessageの作成 Dim msg As New System.Net.Mail.MailMessage( _ "from@xxx.xxx", "to@xxx.xxx", "題名", "本文") 'メールヘッダを追加 'X-Mailerを追加 msg.Headers.Add("X-Mailer", "DOBON Mailer") Dim sc As New System.Net.Mail.SmtpClient() 'SMTPサーバーを指定する sc.Host = "localhost" 'メッセージを送信する sc.Send(msg) '後始末 msg.Dispose() //MailMessageの作成 System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage( "from@xxx.xxx", "to@xxx.xxx", "題名", "本文"); //メールヘッダを追加 //X-Mailerを追加 msg.Headers.Add("X-Mailer", "DOBON Mailer"); System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient(); //SMTPサーバーを指定する sc.Host = "localhost"; //メッセージを送信する sc.Send(msg); //後始末 msg.Dispose(); 上のコードにより送信されるメールのデータは、次のようになります。 上を見て分かるように、このように追加されたヘッダは、先頭に追加されるようです。
補足:MailMessageの他のプロパティで指定できるヘッダや、"Date"などをHeaders.Addで加えても、無視されるようです(位置は、先頭になる)。
SmtpMailクラスを使用する方法Reply-To(メールの返信先)、Sender(メールの実際の送信者)、X-Mailer(メーラーの種類)などのヘッダを追加してメールを送信するには、MailMessageオブジェクトのHeadersプロパティにこれらの項目を追加してから、SmtpMail.Sendメソッドでメールを送信します。 "From"などのMailMessageオブジェクトのプロパティで設定できるヘッダをHeadersプロパティに追加すると、Headersプロパティの値が優先されるようです。しかし、"Date"などはHeadersプロパティに設定しても無視されるようです。 次のコードでは、Reply-ToとX-Mailerをヘッダに追加してメールを送信しています。 Dim mm As New System.Web.Mail.MailMessage '送信者 mm.From = "sender <sender@xxx.xx.com>" 'あて先 mm.To = "recipient1 <recipient1@xxx.xx.com>" '件名 mm.Subject = "テスト" '本文 mm.Body = "こんにちは。これはテストです。" '本文の文字コードを指定する(ここではJIS) mm.BodyEncoding = System.Text.Encoding.GetEncoding(50220) 'ヘッダを追加する 'Reply-Toを追加する mm.Headers.Add("Reply-To", "replyto@xxx.xx.com") 'X-Mailerを追加する mm.Headers.Add("X-Mailer", "DOBON Mailer") 'SMTPサーバーを指定する System.Web.Mail.SmtpMail.SmtpServer = "(SMTPサーバーを指定する)" '送信する System.Web.Mail.SmtpMail.Send(mm)
System.Web.Mail.MailMessage mm =
new System.Web.Mail.MailMessage();
//送信者
mm.From = "sender <sender@xxx.xx.com>";
//あて先
mm.To = "recipient1 <recipient1@xxx.xx.com>";
//件名
mm.Subject = "テスト";
//本文
mm.Body = "こんにちは。これはテストです。";
//本文の文字コードを指定する(ここではJIS)
mm.BodyEncoding = System.Text.Encoding.GetEncoding(50220);
//ヘッダを追加する
//Reply-Toを追加する
mm.Headers.Add("Reply-To", "replyto@xxx.xx.com");
//X-Mailerを追加する
mm.Headers.Add("X-Mailer", "DOBON Mailer");
//SMTPサーバーを指定する
System.Web.Mail.SmtpMail.SmtpServer = "(SMTPサーバーを指定する)";
//送信する
System.Web.Mail.SmtpMail.Send(mm);
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。
|
|
Copyright(C) DOBON!. All rights reserved.
|