命名空间:
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 。