C# 入門 & 実践 / C sharp

301-1. メール送受信 - 1 - メール送信


SmtpClient を使用してメール送信を行います。
smtpサーバ無しの自前送信は、tcpでコマンド実行しないと出来ないようです。

using System.Net.Mail;
using System.Net.Mime;

        public static bool SendMail( string to , string from , string title, string message )
        {
            // check mail address

            try
            {

                SmtpClient sc = new SmtpClient();
                sc.Host = @"192.168.1.123";// SMTPサーバ名orIP
                //sc.Port = 25; // ポートデフォルトで25

                MailMessage myMessage = new MailMessage("jitmailer@gmail"
                    ,to );

                // iso-2022-jp を指定しておきます。
                myMessage.Subject = title;
                myMessage.SubjectEncoding = Encoding.GetEncoding("iso-2022-jp");
                myMessage.BodyEncoding = Encoding.GetEncoding("iso-2022-jp");
                myMessage.Body = message;

                sc.Send(myMessage);
                return true;
            }
            catch 
            {
                return false;
            }
        }
とこれだけでOKです^-^。

■この後
・pop before smtp
普通のプロバイダでは必須なので

・非同期による送信
このままだとタイムアウトまで何も出来なくなってしまうので
非同期で送信して、途中でキャンセルできるようにしましょう。



メール送受信 » 301-2. メール送受信 - 2 - pop before smtp

C# 入門 & 実践 / C sharp