C#送信メール(アリエンタープライズメールボックスの例は、サーバおよびポート構成の各タイプを含む)
本文はC#を通じて(通って)メールを送信することを说明します:1.私のここは使うアリ企业のメールボックスで、その他の163とQQのメールボックスについて、サーバーのアドレスとポートの问题を修正します2.送信の失败の问题について、コードの问题を排除した后で、自分が使うメールボックスの口座が授権を开いたかどうかを见ることができて、特に163とQQのメールボックス、授権を开きます
ここではアリ企業メールボックスの各サーバとポートの構成について説明します:1.POPサーバ:アドレス:pop 3.mxhichina.comポート:110暗号化ポート:995
2.IMAPサーバー:アドレス:imap.mxhichina.comポート:143暗号化ポート:993備考:メールを受信してこのプロトコルを使用することを推薦して、結局POP 3はメールボックスサーバーと対話することができなくて、メールの状態を更新することができません.
SMTPサーバー:アドレス:smtp.mxhichina.comポート:25暗号化ポート:465
直接コアコード:
Ending~
ここではアリ企業メールボックスの各サーバとポートの構成について説明します:1.POPサーバ:アドレス:pop 3.mxhichina.comポート:110暗号化ポート:995
2.IMAPサーバー:アドレス:imap.mxhichina.comポート:143暗号化ポート:993備考:メールを受信してこのプロトコルを使用することを推薦して、結局POP 3はメールボックスサーバーと対話することができなくて、メールの状態を更新することができません.
SMTPサーバー:アドレス:smtp.mxhichina.comポート:25暗号化ポート:465
直接コアコード:
///
/// , ,
///
///
public static void SendEmail(EmailInfo requestModel)
{
if (requestModel.To.IsNullOrEmpty()) throw new LevoxCpcException(" !");
if (string.IsNullOrWhiteSpace(requestModel.Subject)) throw new LevoxCpcException(" !");
if (string.IsNullOrWhiteSpace(requestModel.Body) && requestModel.Attachments.IsNullOrEmpty()) throw new LevoxCpcException(" !");
var emailSettingInfo = GetSendEmailSenderInfo();
try
{
//
var client = new SmtpClient(emailSettingInfo.Host, emailSettingInfo.Port)
{
// SSL, false, true,
EnableSsl = false,
// (UseDefaultCredentials Credentials , )
UseDefaultCredentials = true,
//
Credentials = new NetworkCredential(emailSettingInfo.Account, emailSettingInfo.Password)
};
//
var email = new MailMessage()
{
//
From = new MailAddress(emailSettingInfo.Account, emailSettingInfo.DisplayName),
IsBodyHtml = true,// html
Subject = requestModel.Subject,//
BodyEncoding = Encoding.Default,//
Body = requestModel.Body,//
Priority = MailPriority.High//
};
// ( )
requestModel.To.Distinct().LingbugFor(r => email.To.Add(r));
// ( )
if (!requestModel.CC.IsNullOrEmpty()) requestModel.CC.Distinct().LingbugFor(r => email.CC.Add(r));
// ( )
if (!requestModel.Attachments.IsNullOrEmpty()) requestModel.Attachments.Distinct().LingbugFor(r => email.Attachments.Add(new Attachment(r)));
// ( )
client.SendCompleted += (sender, e) =>
{
if (e.Error == null)
{
LogTestService.Info(" ", requestModel.SerializeObject());
}
else
{
LogTestService.Info(" :" + e.Error.Message, e.Error.SerializeObject());
}
};
//
client.SendMailAsync(email);
}
catch (Exception ex)
{
LogTestService.Info(" :" + ex.Message, ex.SerializeObject());
}
}
Ending~