2012-10-12 45 views
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)中的後者呢?

+3

爲什麼你需要後者?您還可以使用MaiMessage設置內容和收件人。 –

+0

我無法找到任何提及的[System.Net.Mail.MailMessage](http://msdn.microsoft.com/en-us/library/dk1fb84h.aspx)被棄用。 – hometoast

+0

是的,我是 - 我們現在希望用戶能夠在發送之前在Outlook中編輯msg。另一種選擇是一個兩步驟的過程,決定反對(提示他們進行修改,然後將它們傳遞給第一個方法)。 –

回答

1

我尋找一個真正的快速答案。我知道C#是從Java中分離出來的,所以這裏是java問題的答案。

Java Lib

我將繼續尋找一個C#版本,但是這將幫助你知道你在做你自己的研究尋找。

+0

可能還想看看"THIS"與process.start()的交易,也包含其中的信息。 –

相關問題