【问题标题】:Changing source e-mail address from C# program using Microsoft.Office.Interop.Outlook使用 Microsoft.Office.Interop.Outlook 从 C# 程序更改源电子邮件地址
【发布时间】:2016-06-17 20:46:40
【问题描述】:

我正在尝试使用我编写的 C# 程序向 Microsoft 管理的目标公司地址发送电子邮件;默认情况下,它使用我的公司地址发送它,但我不希望我的地址显示为当时的发件人,我尝试使用“代表”选项,但仍然将两个地址都显示为发件人。有没有一种方法可以更改发件人,而无需在我的计算机中配置特定的发件人帐户。我认为这可能是不可能的,因为 SMTP 会因为它被欺骗而阻止电子邮件,但我希望有办法解决它。如果这是不可能的,有没有办法将该电子邮件凭据和 SMTP 服务器信息输入到 C# 代码中,这样我就不必在将发送电子邮件的机器上实际设置 Outlook?提前感谢您的帮助。

【问题讨论】:

    标签: c# email outlook spoof


    【解决方案1】:
    void SendEmail(string SMTPServer, int SMTPPort, string SMTPUserName, string SMTPPassowrd, 
                  string FromEmailID, string ToEmailID, string Subject, string Body)
        {
            try
            {
                SmtpClient SmtpClient = new SmtpClient(SMTPServer, SMTPPort);
                SmtpClient.UseDefaultCredentials = false;
                SmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                SmtpClient.Credentials = new System.Net.NetworkCredential(SMTPUserName, SMTPPassowrd);
                MailMessage mailMsg = new MailMessage();
                mailMsg.From = new MailAddress(FromEmailID);
                mailMsg.To.Add(ToEmailID);
                mailMsg.Subject = Subject;
                mailMsg.Body = Body;
                mailMsg.IsBodyHtml = true;
                SmtpClient.Send(mailMsg);
            }
            catch
            {
    
                throw;
            }
        }
    

    http://www.dotnetlearners.com/blogs/view/80/SMTP-send-email-source-code.aspx

    【讨论】:

    • 谢谢,这就是我要找的。我将不得不尝试在我们的服务器上使用它,它使用 SSL 和代理,所以我想我也需要输入该信息,
    【解决方案2】:

    您可以为此使用 System.Net.Mail 命名空间。您可以从任何您想要的地址发送。

    using System.Net;
    using System.Net.Mail;
    
    using (SmtpClient client = new SmtpClient("yourserver"))
    {
        client.Credential = new NetworkCredential();
    
        MailMessage message = new MailMessage();
        message.To.Add("targetAddress");
        message.From = new MailAddress("from addresss");
        message.Subject = "blah blah";
        message.Body = "body text.  this can be html if you want";
        message.IsBodyHtml = true; //set this to true if the body is html
    
        client.Send(message);
    }
    

    我已经将它与 Microsoft Exchange 和 gmail 一起使用,从未遇到任何问题。

    【讨论】:

    • 谢谢,这就是我一直在寻找的,user3698428 的答案更具体,但想法相同。谢谢,我将不得不尝试在我们的服务器上使用它,它使用 SSL 和代理,所以我想我也需要输入该信息,
    猜你喜欢
    • 1970-01-01
    • 2015-01-15
    • 2011-09-09
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多