RECOMMEND
C# 言語リファレンス Black Book
C# 言語リファレンス Black Book (JUGEMレビュー »)
ビル ワグナー, Bill Wagner, スリーエーシステムズ, アクロバイト
RECOMMEND
RECOMMEND
SELECTED ENTRIES
CATEGORIES
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS

10
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--
>>
<<
--

メール

主に、メール送受信ライブラリを紹介します。各種ソフトウェア、PHPコンテンツ制作、SEO対策もお任せください。
<< メールの送信結果を取得する | main | 共有すれば相互リンクはもっと簡単に増える! >>
SMTP:メールの送信状況を確認する
0
    ExwarpMailKit1.0.339.*ライブラリを使用すると、複数メールの送信中にメールが送信されるたびにイベントを検知することができます。大量のメールが送信されている場合に、メール送信の進行状況を確認することができます。
    [C#]
    private void OnMailMessageSent(object sender,Exwarp.Net.Mail.MailEventArgs e)
    {
      Exwarp.Net.Mail.MailMessage mail = e.Mail;
      //カスタム処理を記述します。
    }

    //以下はメールの送信ロジック
    //通常、任意の関数内に記述します。
    Exwarp.Net.Smtp.SmtpClient client = new Exwarp.Net.Smtp.SmtpClinet("SMTP_HOST");
    client.MailMessageSent += new Exwarp.Net.Mail.MailEventHandler(this.OnMailMessageSent);
    client.Connect();
    clinet.SendReceive(MAILS);
    client.Close();

    解説
    SMTP_HOSTはSMTPホストを表す文字列。
    MAILSは送信メールのコレクションを表すSystem.Collections.IList型オブジェクトです。

    通常のメール送信処理までに、MailMessageSentイベントにイベントハンドラを追加しておきます。このようにすることでメールが送信されるたびに追加したイベントハンドラに制御が移ります。
    今回の場合、OnMailMessageSentというイベントハンドラを追加しています。この関数は、object型のパラメータとExwarp.Net.Mail.MailEventArgs型のパラメータを受け取ります。
    二つ目のパラメータのMailプロパティを参照することで、送信されたメールを取得することができます。

    注意点:
    このイベントはメール送信中にエラーが発生しても、正常にSMTPホストがメールを受け付けても必ず発生します。メールの送信が成功したか失敗したかを確認する場合は、e.Mail.GetProperty("SendResult")の値をチェックします。
    成功している場合は,Exwarp.Net.Smtp.SendResult.Complete、失敗した場合はExwarp.Net.Smtp.SendResult.Failedがセットされます。

    この機能はExwarpMailKit1.0.339.*以上のライブラリで使用できます。
    | technicals | 14:48 | - | - | - | - |