c# - MailKit 我没有从正确的发件人那里收到
问题描述
我在我的联系表格中使用 Mailkit,除了填写发送给我的正确邮件外,一切正常。每次来往的邮件都是一样的。我为我的邮件指出的邮件。我尝试使用静态字符串而不是收入输入,但问题仍然存在。有人能帮我吗。我分享下面的代码。谢谢你。最好的问候,文齐斯拉夫
public class MailKitEmailSenderOptions
{
public MailKitEmailSenderOptions()
{
this.Host_SecureSocketOptions = SecureSocketOptions.Auto;
}
public SecureSocketOptions Host_SecureSocketOptions { get; set; }
public string Server { get; set; }
public int Port { get; set; }
public string Username { get; set; }
public string Password { get; set; }
}
public class MailKitEmailSender : IEmailSender
{
public MailKitEmailSender(IOptions<MailKitEmailSenderOptions> options)
{
this.Options = options.Value;
}
public MailKitEmailSenderOptions Options { get; set; }
public Task SendEmailAsync(string email, string subject, string message)
{
return SendEmailAsync(email, subject, message);
}
public async Task SendEmailAsync(string from, string fromName, string subject, string htmlContent, IEnumerable<EmailAttachment> attachments = null)
{
try
{
var message = new MimeMessage();
message.From.Add(new MailboxAddress(fromName, from));
message.To.Add(new MailboxAddress(this.Options.Username));
message.Subject = subject;
message.Body = new TextPart("html")
{
Text = htmlContent,
};
using (var client = new SmtpClient())
{
client.Connect(this.Options.Server, this.Options.Port, this.Options.Host_SecureSocketOptions);
await client.AuthenticateAsync(this.Options.Username, this.Options.Password);
await client.SendAsync(message);
await client.DisconnectAsync(true);
}
}
catch (Exception ex)
{
throw new InvalidOperationException(ex.Message);
}
}
}
解决方案
如果您使用的是电子邮件服务器(例如 GMail),该服务器会将 From 标头替换为您用于发送邮件的任何帐户。
推荐阅读
- python - 如何在 python 中绘制日志?
- android - React Native Android: index.android.js: Plugin/Preset 文件不允许导出对象,只能导出函数
- php - 如果用户代理使用 PHP 等于变量,则标头重定向
- java - Android gradle 在创建 androidx 项目后无法立即解析核心
- android - 迁移到 New Place SDK google 时出现重复的 jar (ListenableFuture.class)
- python - 使用python自动填充mysql数据库
- facebook-graph-api - 使用页面名称和位置搜索带有 url 的 Facebook 页面
- asp.net-core - 在 .net 核心中使用双重授权(承载和基本)时获得 403
- typescript - 在 Aurelia/Typescript 应用程序中使用 noty
- jwt - 令牌刷新时的部分 JWT 令牌