0
SMTPサーバーを指定する

自身の備忘録として
SmtpClientを使ったメール送信の方法について
以下のようなフォームを作成してメール送信処理を記載したのでそのメモとして
■引数あり(SMTPサーバー、ポート)のコンストラクタを使用した方法
private String SendMail01()
{
// SMTPサーバーを指定する
var client = new SmtpClient(TextBoxSmtpServerName.Text, int.Parse(TextBoxSmtpServerPort.Text));
// 送信元、宛先、件名、本文を指定する
string fromAddress = TextBoxMailSendUser.Text;
string toAddress = TextBoxMailResponceUser.Text;
string subject = TextBoxMailHeader.Text;
string body = TextBoxMailMessage.Text;
//メールアカウント認証のユーザ名、パスワードを指定する
string mailUser = TextBoxMailUser.Text;
string mailPassword = TextBoxMailPassword.Text;
try
{
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
//ユーザー名とパスワードを設定する
client.Credentials = new System.Net.NetworkCredential(mailUser, mailPassword);
//SSLを使用する
client.EnableSsl = true;
// Send
client.Send(fromAddress, toAddress, subject, body);
//MessageBox.Show("送信しました");
//後始末(.NET Framework 4.0以降)
client.Dispose();
}
catch (SmtpException ex)
{
// SMTP Server connect miss.
//MessageBox.Show(ex.Message);
return ex.Message;
}
return "送信されました";
}
■引数なしのコンストラクタを使用した方法
private String SendMail02()
{
try
{
//Hotmailでメールを送信する
//MailMessageの作成
MailMessage msg = new MailMessage(
TextBoxMailSendUser.Text, TextBoxMailResponceUser.Text,
TextBoxMailHeader.Text,TextBoxMailMessage.Text);
SmtpClient sc = new SmtpClient();
//SMTPサーバーなどを設定する
sc.Host = TextBoxSmtpServerName.Text;
sc.Port = int.Parse(TextBoxSmtpServerPort.Text);
sc.DeliveryMethod = SmtpDeliveryMethod.Network;
//ユーザー名とパスワードを設定する
sc.Credentials = new System.Net.NetworkCredential(TextBoxMailUser.Text,TextBoxMailPassword.Text);
//SSLを使用する
sc.EnableSsl = true;
//メッセージを送信する
sc.Send(msg);
//後始末
msg.Dispose();
//後始末(.NET Framework 4.0以降)
sc.Dispose();
}
catch (SmtpException ex)
{
// SMTP Server connect miss.
return ex.Message;
}
return "送信されました";
}