C#发送邮件MailMessage 类示例

命名空间:
System.Net.Mail
程序集:
System.Net.Mail.dll

//示例
public static void CreateMessageWithAttachment(string server)
{
    // Specify the file to be attached and sent.
    // This example assumes that a file named Data.xls exists in the
    // current working directory.
    string file = "data.xls";
    // Create a message and set up the recipients.
    MailMessage message = new MailMessage(
        "jane@contoso.com",
        "ben@contoso.com",
        "Quarterly data report.",
        "See the attached spreadsheet.");

    // Create  the file attachment for this email message.
    Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
    // Add time stamp information for the file.
    ContentDisposition disposition = data.ContentDisposition;
    disposition.CreationDate = System.IO.File.GetCreationTime(file);
    disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
    disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
    // Add the file attachment to this email message.
    message.Attachments.Add(data);

    //Send the message.
    SmtpClient client = new SmtpClient(server);
    // Add credentials if the SMTP server requires them.
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}",
            ex.ToString());
    }
    // Display the values in the ContentDisposition for the attachment.
    ContentDisposition cd = data.ContentDisposition;
    Console.WriteLine("Content disposition");
    Console.WriteLine(cd.ToString());
    Console.WriteLine("File {0}", cd.FileName);
    Console.WriteLine("Size {0}", cd.Size);
    Console.WriteLine("Creation {0}", cd.CreationDate);
    Console.WriteLine("Modification {0}", cd.ModificationDate);
    Console.WriteLine("Read {0}", cd.ReadDate);
    Console.WriteLine("Inline {0}", cd.Inline);
    Console.WriteLine("Parameters: {0}", cd.Parameters.Count);
    foreach (DictionaryEntry d in cd.Parameters)
    {
        Console.WriteLine("{0} = {1}", d.Key, d.Value);
    }
    data.Dispose();
    }

注解
类的实例 MailMessage 用于构造电子邮件,这些电子邮件使用类传输到 SMTP 服务器以便传递 SmtpClient 。
当使用初始化对象时,可以将发件人、收件人、主题和电子邮件正文指定为参数 MailMessage MailMessage 。 还可以使用对象的属性来设置或访问这些参数 MailMessage 。
可以使用类的以下属性设置消息的主邮件头和元素 MailMessage 。
注解
邮件头或部分 properties
Attachments Attachments
密件抄送 (BCC) Bcc
抄送 (CC) CC
Content-Type BodyEncoding
自定义标头编码 HeadersEncoding
邮件正文 Body
优先级 Priority
Recipient To
答复 ReplyToList
发送方 From
主题 Subject
MailMessage类还允许应用程序使用属性访问消息的标头集合 Headers 。 尽管此集合是只读的 (不能) 设置新集合,但可以在此集合中添加或删除自定义标头。 发送实例时,添加的任何自定义标头都将包括在内 MailMessage 。 在发送消息之前,集合中只包括专门添加到此集合中的标头 Headers 。 MailMessage发送实例后, Headers 属性还将包括使用类的关联属性设置的标头, MailMessage 或在 MailMessage 用于初始化对象时传递的参数 MailMessage 。
如果某些邮件头格式不正确,则可能会导致电子邮件损坏。 因此,可以使用类上的属性设置的标头集合中的任何邮件头都 MailMessage 应该只使用 MailMessage 类属性设置,或者在初始化对象时作为参数传递 MailMessage MailMessage 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值