0

我有两种发送电子邮件的方式。一个“静默”发送电子邮件,速度快如闪电,另一个比西伯利亚糖蜜慢。不过,我们需要后者,因为我们希望允许用户添加和/或编辑内容、收件人等。

这是快速但现在已过时的方法:

public static void SendEmail(String Recipients,
                 String Sender,
                 String Subject,
                 String Body,
                 String SMTPHost)
{
    try
    {
        var message = new MailMessage();
        string[] recipients = Recipients.Split(';');
        foreach (string recipient in recipients)
        {
            message.To.Add(recipient);
        }
        message.Subject = Subject;
        message.From = new MailAddress(Sender);
        message.Body = Body;
        if (String.IsNullOrWhiteSpace(SMTPHost))
        {
            SMTPHost = "localhost";
        }
        var smtp = new SmtpClient(SMTPHost);
        smtp.Send(message);
    } catch (Exception e)
    {
        log.Error(e, e);
    }
}

...这是新的但缓慢的方法:

public static void SendEmail(String Recipients,
                             String Subject,
                 String Body)
{
    System.Diagnostics.Process proc = new System.Diagnostics.Process();
    proc.StartInfo.FileName = string.Format("mailto:{0}?subject={1}&body={2}", Recipients, Subject, Body);
    proc.Start();
}

有没有办法加快调用默认电子邮件客户端(在我们的例子中是 Outlook)的后一种方式?

4

1 回答 1

1

我寻找一个真正快速的答案。我知道 C# 是从 java 中分离出来的,所以这里是 java 对这个问题的回答。

Java 库

我将继续寻找 C# 版本,但这将帮助您了解在进行自己的研究时要寻找什么。

于 2012-10-12T17:41:56.830 回答