開封確認をリクエストしてメールを送信する開封確認をリクエストしてメールを送信するには、メールヘッダに「Disposition-Notification-To」を加えます。「Disposition-Notification-To」については、RFC3798で説明されています。 また、「X-Confirm-Reading-To」や「Return-Receipt-To」も開封確認で使用されます。 なお、これらの機能にメールの受信側が対応していない可能性がありますし、受信者が開封確認の送信を拒否する可能性もありますので、開封確認が確実に有効となる保障はありません。 以下に例を示します。 .NET Framework 2.0以降で、SmtpClientクラスを使用した例[VB.NET] 'MailMessageの作成 Dim msg As New System.Net.Mail.MailMessage( _ "from@xxx.xxx", "to@xxx.xxx", "題名", "本文") 'メールヘッダを追加 '開封確認をリクエストする msg.Headers.Add("Disposition-Notification-To", msg.From.Address) Dim sc As New System.Net.Mail.SmtpClient() 'SMTPサーバーを指定する sc.Host = "localhost" 'メッセージを送信する sc.Send(msg) '後始末 msg.Dispose() [C#] //MailMessageの作成 System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage( "from@xxx.xxx", "to@xxx.xxx", "題名", "本文"); //メールヘッダを追加 //開封確認をリクエストする msg.Headers.Add("Disposition-Notification-To", msg.From.Address); System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient(); //SMTPサーバーを指定する sc.Host = "localhost"; //メッセージを送信する sc.Send(msg); //後始末 msg.Dispose(); SmtpMailクラスを使用した例[VB.NET] 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) 'ヘッダを追加する '開封確認をリクエストする mm.Headers.Add("Disposition-Notification-To", "sender@xxx.xx.com") 'SMTPサーバーを指定する System.Web.Mail.SmtpMail.SmtpServer = "(SMTPサーバーを指定する)" '送信する System.Web.Mail.SmtpMail.Send(mm)
[C#]
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);
//ヘッダを追加する
'開封確認をリクエストする
mm.Headers.Add("Disposition-Notification-To", "sender@xxx.xx.com");
//SMTPサーバーを指定する
System.Web.Mail.SmtpMail.SmtpServer = "(SMTPサーバーを指定する)";
//送信する
System.Web.Mail.SmtpMail.Send(mm);
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。
|
|
Copyright 2002-2008 DOBON!. All rights reserved.
|