如何允许外出来自C#的电子邮件自动回复

时间:2016-07-13 05:01:34

标签: c# email

我有一个C#方法来发送电子邮件,我希望将自动回复的办公室电子邮件发送给发件人或回复用户。这是我的代码,它不起作用。

如果从outlook发送,我看到我的办公室电子邮件回复,但是下面的代码有什么问题?

    public void SendEmail()
    {
        SmtpClient client = new SmtpClient("my host server", 25);
        var sender = "sender";
        var to = "receiver";
        var replyTo = sender;

        try
        {
            MailMessage msg = new MailMessage();

            msg.From = new MailAddress(sender);
            msg.Subject = "Test auto reply from C#";
            msg.To.Add(new MailAddress(to));

            if (!string.IsNullOrWhiteSpace(replyTo))
            {
                msg.ReplyToList.Add(replyTo);
            }

            msg.Body = "This is from C# email server to test auto reply.";

            client.Send(msg);

            msg.Dispose();
        }
        catch (Exception ex)
        {
        }
        finally
        {
            client.Dispose();
        }
    }
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

我们已经通过以下代码解决了这个问题:

    public void SendEmail()
    {
        SmtpClient client = new SmtpClient("my host server", 25);
        var sender = "noreply@domain.com";
        var from = "actual sender";
        var to = "receiver";
        var replyTo = sender;

        try
        {
            MailMessage msg = new MailMessage();

            msg.From = new MailAddress(from);
            msg.Sender = new MailAddress(sender);

            msg.Subject = "Test auto reply from C#";
            msg.To.Add(new MailAddress(to));

            if (!string.IsNullOrWhiteSpace(replyTo))
            {
                msg.ReplyToList.Add(replyTo);
            }

            msg.Body = "This is from C# email server to test auto reply.";

            client.Send(msg);

            msg.Dispose();
        }
        catch (Exception ex)
        {
        }
        finally
        {
            client.Dispose();
        }
    }

电子邮件地址" noreply@domain.com"已被用作公司地址,没有任何回复,因为没有回复选项。