目次

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を愛用
掲載日: 2009-12-11
iPentec all rights reserverd.