【開発】C#でメールをGoogleAppsに送信してみた
そういたC#でメール送信した事ないなぁと思って、やってみた。
ネットから情報を拾いながら、なんとかGoogleAppsのSMTPから送信できました。
9/11間違いがあったので更新
急いでコピペしたので、余計なやつも混じってるかと思いますが、大体分かるかなと思います。
.net2.0以降標準のSMTPClientでの方法です。Google Apps側では(認証まわりとか)設定不要です。
usedefaultcredentilas(bool)に触れると、なぜか、一切ダメでした・・。どちらの値を入れてもなぜか接続できませんでした。
以下の例では、ファイル添付もやってます。strFileにそのままファイルパスが入ってるイメージです。ネット上の情報をもとにファイル添付関連コードをコピペしたら、「そのコード古いやんか、ワレ~」と、VSさんにどつかれました。色々と仕様変更されてんですね。
他のSMTPでは試してないです。
SmtpClient sc = new SmtpClient("smtp.gmail.com", 587); sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.Credentials = new NetworkCredential(SMTPID, SMTPPW); sc.EnableSsl = true; //sc.UseDefaultCredentials = false; sc.Timeout = 10000; try { MailAddress maFrom = new MailAddress( SMailAdr, Name, Encoding.UTF8); MailAddress maTo = new MailAddress( DMailAdr, Name, Encoding.UTF8); MailMessage msg = new System.Net.Mail.MailMessage(maFrom, maTo); msg.Body = ""; msg.IsBodyHtml = false; msg.BodyEncoding = Encoding.UTF8; msg.Subject = ""; msg.SubjectEncoding = Encoding.UTF8; Attachment attachment = new Attachment(strFile); msg.Attachments.Add(attachment); //送信 sc.Send(msg); msg.Dispose(); MessageBox.Show("メールが送信されました", "確認 - " + Common.ApplicationID, MessageBoxButtons.OK, MessageBoxIcon.Information); } catch(Exception ex) { MessageBox.Show("メール送信に失敗しましたnn" + ex.Message, "エラー - " + Common.ApplicationID,MessageBoxButtons.OK,MessageBoxIcon.Error); }