0

メールを送る方法は2つあります。1つは電子メールを「静かに」送信し、電光石火の速さであり、もう1つはシベリアの糖蜜よりも遅い. ただし、ユーザーがコンテンツ、受信者などを追加および/または編集できるようにするため、後者が必要です。

これは簡単ですが、現在は廃止された方法です。

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 に答える