快把我逼疯了!我需要发送来自db的电子邮件smtp电子邮件(我以后可以更改电子邮件和pwd )。只有当我在引号中设置用户名和密码时,is...it才会连接。我使用mimekit 3.2,.net6.0;
using var client = new MailKit.Net.Smtp.SmtpClient {
CheckCertificateRevocation = false,
ServerCertificateValidationCallback = (s, c, h, e) => true,
};
...
try
{
client.AuthenticationMechanisms.Remove("XOAUTH2");
await client.ConnectAsync(_smtpDetails.Server, _smtpDetails.Port, SecureSocketOptions.SslOnConnect, default);
await client.AuthenticateAsync("email@example.com", "mypwd"); This works but i need to authenticate using await client.AuthenticateAsync(string.Username, string.Pwd)!!
await client.SendAsync(mimeMessage);
}
finally
{
await client.DisconnectAsync(true);
}
}
..。
我试过创建证书、类等等,但没有成功!
谢谢。
发布于 2022-05-26 09:06:08
如果您发现使用硬编码(引号)字符串有问题,但使用字符串变量不起作用,那么问题总是在于您的字符串变量不包含您认为它们包含的值。
打印出来(或使用调试器)来验证它们是否包含它们应该包含的内容。
一个非常常见的问题是,字符串变量在字符串值的开头或结尾包含空格(或换行符)。
https://stackoverflow.com/questions/72383289
复制相似问题