static void Main(string[] args)
{
CreateMessageWithAttachment("smtp.163.com");
Console.WriteLine("发送成功");
Console.ReadLine();
}
public static void CreateMessageWithAttachment(string server)
{
// 指定要被发送的附件,本例中的附件为同级目录下的data.xls文件
string file = "data.xls";
// 1, Create a message and set up the recipients.创建一个邮件,设置发送人,收信人以及主题,正文
MailMessage message = new MailMessage(
"cykevin@163.com",
"735356115@qq.com",
"hello",
"fuck");
// 2,Create the file attachment for this e-mail message.创建邮件附件
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
// 3,给附件添加时间戳 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);
// 4,将附件添加到邮件Add the file attachment to this e-mail message.
message.Attachments.Add(data);// 添加附件
// 5,创建发送端,配置发送端Send the message.
SmtpClient client = new SmtpClient(server);
client.UseDefaultCredentials = false;
// Add credentials if the SMTP server requires them.
client.Credentials = new System.Net.NetworkCredential("用户名", "密码");
// 6,发送
client.Send(message);// 发送
// 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);
}
// 7,销毁附件
data.Dispose();
}
