1

System.Net.Mail465 ポートとSystem.Web.Mail587 ポートで使用できるかどうか疑問に思っています。たとえば、Gmail の場合、トランスポート プロトコルの例外がスローされるため、この例ではポートを切り替えることができません...

using web = System.Web.Mail;
using net = System.Net.Mail;

private void SendMail()
{
    web.MailMessage webMail = new web.MailMessage();
    webMail.To = "MAILTO@gmail.com";
    webMail.From = "MAILFROM@gmail.com";

    webMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", "2");
    webMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");            
    webMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
    webMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "LOGIN");
    webMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "PASSWORD");
    webMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465);
    web.SmtpMail.SmtpServer = "smtp.gmail.com";
    web.SmtpMail.Send(webMail);

    net.SmtpClient smtp = new net.SmtpClient();
    smtp.UseDefaultCredentials = false;
    smtp.Credentials = new System.Net.NetworkCredential("LOGIN", "PASSWORD");
    smtp.Port = 587;
    smtp.Host = "smtp.gmail.com";
    smtp.EnableSsl = true;

    var netMail = new net.MailMessage(new net.MailAddress("MAILFROM@gmail.com", "", System.Text.Encoding.UTF8),
                                      new net.MailAddress("MAILTO@gmail.com", "", System.Text.Encoding.UTF8));

    smtp.Send(netMail); 
}

ロシアのWin 7 64xでは.Net 2.0ビルドでは最も単純な秒Net.Mailでも送信できないため、質問しています-ヘッダーに無効な文字に関する例外がスローされます...そして、We.Mailは期待どおりに機能します。でも使いたくない…

4

0 に答える 0