C# でメール送信プログラム

C#でメール送信プログラムを作ったので忘れないようにメモ
.Netfreamework2.0では作ったことあるんだが、今回は開発していた案件が.Netfreamework1.1
だったのでやり方がかわっていた。

●System.Web.Mail名前空間のSmtpMailを利用する方法があり、IISを使わないといけないと
書いてあった気がしたのでC#2005で開発したようが気がした。でもIISをつかわなくても
メール送信はできるようだ。System.Web.MaiのMailMessageを使えればいい。
●Submissionポート(587番)を使ってSMTP認証で送信する方法
▼参考PG
System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage();
// Submission(サブミッションポート番号)
mail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/smtpserverport”, “587”);
mail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/sendusing”, “2”);
// SMTP認証を使用している場合は 1 を設定する
mail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/smtpauthenticate”, “1”);
// SMTP認証用のユーザID
mail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/sendusername”, “SmtpUserName”);
// SMTP認証用のパスワード
mail.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/sendpassword”, “SmtpPassword”);
●POP Before SMTP認証時はTCPClientで認証をする必要がある。
撲が利用しているサーバーSMTP認証のみでよかったので細かい検証はしなかった。
●その他
MailMessageを利用する場合はJISコード変換はしなくていいようだ。
メールヘッダーもMIMEエンコードせずに自動的に行ってくれる。
MailMessageのBodyEncodingにエンコード文字を設定するだけでいい。
これも問題はあるかもしれませんが、MIMEエンコードして送信したら例外エラーが発生したので。
●参考サイト
http://www.atmarkit.co.jp/fdotnet/dotnettips/017sendmail/sendmail.html
http://techbank.jp/Community/blogs/mymio/archive/2009/08.aspx
http://tech.bbtune.com/csharp/items/301-2.html

6月10日 ウォーキングした。ちょい後半フラフラしたが前回より調子よかった。
何とか週4回のノルマは達成。
飛行機
前運動している時に撮影。動いているものの撮影は非常に難しい。

コメント