小编Ezh*_*lai的帖子

MailKit.Net.Smtp.SmtpClient SMTP服务器不支持身份验证

我想使用 MailKit 通过我们的 Exchange 服务器发送电子邮件,并使用进程的凭据。

使用域/用户名/密码构建 System.Net.Mail.SmtpClient 和 NetworkCredential 可以工作,但在使用 MailKit.Net.Smtp.SmtpClient 和 NetworkCredential 时不起作用。抛出异常就像

异常消息:SMTP 服务器不支持身份验证。跟踪消息:位于 MailKit.Net.Smtp.SmtpClient.d__73.MoveNext() --- 从先前引发异常的位置开始的堆栈跟踪结束 --- 位于系统的 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) .Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在MailKit.Net.Smtp.SmtpClient.Authenticate(编码编码,ICredentials凭证,CancellationToken取消令牌)在MailKit.MailService.Authenticate(ICredentials凭证,CancellationToken取消令牌)在SMTP_EmailCheck.P​​rogram。 D:\Work\SMTP_EmailCheck\SMTP_EmailCheck\Program.cs 中的 SendMail_MailKit_WithDomain():第 123 行

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            var mailMessage = new MimeMessage();
            mailMessage.From.Add(new MailboxAddress(fromMailAddress));
            mailMessage.To.Add(new MailboxAddress(toMailAddress));
             mailMessage.Subject = "SendMail_MailKit_WithDomain";
            mailMessage.Body = new TextPart(TextFormat.Plain)
            {
                Text = "Hello"
            };

            using (var smtpClient = new MailKit.Net.Smtp.SmtpClient())
            {
                smtpClient.Connect("MailServer", 25, MailKit.Security.SecureSocketOptions.None);                   
                var creds = new NetworkCredential("UserName", "Password", "Domain");
                smtpClient.Authenticate(creds);                    
                smtpClient.Send(mailMessage);
                smtpClient.Disconnect(true);
            }
Run Code Online (Sandbox Code Playgroud)

提前致谢

.net c# smtpclient mime-message mailkit

9
推荐指数
1
解决办法
2万
查看次数

MimeKit 偏移量 37 处出现意外标记

我们使用 MailKit/MimeKit 来转发电子邮件。当尝试发送邮件时抛出错误,例如“偏移量 37 处出现意外令牌”请帮助解决此问题。

跟踪消息如下

at MimeKit.MailboxAddress.set_Address(String value)
at MimeKit.MailboxAddress..ctor(Encoding encoding, String name, String address)
Run Code Online (Sandbox Code Playgroud)
using (var smtpClient = new MailKit.Net.Smtp.SmtpClient())
{
    smtpClient.Connect(mailServer, Port, MailKit.Security.SecureSocketOptions.None);
    smtpClient.Send(mailMessage);
    smtpClient.Disconnect(true);
}
Run Code Online (Sandbox Code Playgroud)

.net c# smtpclient mailkit mimekit

2
推荐指数
1
解决办法
6503
查看次数

标签 统计

.net ×2

c# ×2

mailkit ×2

smtpclient ×2

mime-message ×1

mimekit ×1