首页 > 解决方案 > 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);
            }
        }
    }

标签: c#asp.netemailmailkit

解决方案


如果您使用的是电子邮件服务器(例如 GMail),该服务器会将 From 标头替换为您用于发送邮件的任何帐户。


推荐阅读