2

MailDefinitionクラスはASPでのみ使用できますか必要なものはすべて揃っているようですが、SMTPサーバー情報をWeb.Configファイルに追加する必要があるようです。このクラスをWinFormsアプリで使用したいと思います。これは可能ですか?

ありがとう

4

1 に答える 1

1

もちろん、WinFormsアプリから使用できるはずです。SMTPホスト名をSystem.Net.Mail.SmtpClientコンストラクターに渡す必要があります。このようなもの:

using System.Net.Mail;
using System.Web.UI.WebControls;

// namespace etc

private void SendEmail()
{
    string to = "to@somewhere.com,to2@somewhere.com";

    MailDefinition mailDefinition = new MailDefinition();
    mailDefinition.IsBodyHtml = false;

    string host = "smtpserver";  // Your SMTP server name.
    string from = "from@somewhere.com";
    int port = -1;               // Your SMTP port number. Defaults to 25.

    mailDefinition.From = from;
    mailDefinition.Subject = "Boring email";
    mailDefinition.CC = "cc@somwhere.com,cc2@somwhere.com";

    List<System.Net.Mail.Attachment> mailAttachments = new List<System.Net.Mail.Attachment>();
    // Add any attachments here

    using (MailMessage mailMessage = mailDefinition.CreateMailMessage(to, null, "Email body", new System.Web.UI.Control()))
    {
        SmtpClient smtpClient = new SmtpClient(host);
        if (port != -1)
        {
            smtpClient.Port = port;
        }
        foreach (System.Net.Mail.Attachment mailAttachment in mailAttachments)
        {
            mailMessage.Attachments.Add(mailAttachment);
        }
        smtpClient.Send(mailMessage);
    }
}
于 2012-08-01T16:40:52.853 に答える