SMTP Authを利用してプログラムからメールを送信する
SMTP Authに対応したサーバーを使ってメールを送信する場合のコード例です。
概要
SMTP Authを利用する場合は SmtpClientクラスのCredentialsプロパティにNetworkCredentialクラスと割り当てることで、SMTP Authを利用できます。
下記サンプルは、SMTP authに対応した"mailgate.ipentec.com"サーバーのポート587に接続し、SMTP authユーザー名 "automail"、SMTPパスワード"pass123456"で認証をしメールを送信します。
コード例
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
//送信者の設定
msg.From = new System.Net.Mail.MailAddress("auto@automail.ipentec.com", "自動送信メール");
//宛先の設定
msg.To.Add(new System.Net.Mail.MailAddress("ipentec-management@gmail.com", "iPentec Manage"));
//件名の設定
msg.Subject = "自動送信メール";
//本文の設定
msg.Body = "このメッセージは自動送信によるメールです。";
System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient();
//SMTPサーバーを指定する
sc.Host = Properties.Settings.Default.SMTPServer; // or "mailgate.ipentec.com";
sc.Port = Properties.Settings.Default.SMTPPort; // or 587;
//ユーザー名とパスワードを設定する
sc.Credentials = new System.Net.NetworkCredential(
Properties.Settings.Default.SMTPAuthUser, Properties.Settings.Default.SMTPAuthPass);
//or sc.Credentials = new System.Net.NetworkCredential("automail","pass123456");
//現在は、EnableSslがtrueでは失敗する
sc.EnableSsl = false;
//メッセージを送信する
sc.Send(msg);
//後始末
msg.Dispose();
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用