本篇文章将介绍如何在C#应用程序中新建和发送带附件的邮件。这里所使用的Email组件是Spire.Email,它可以用在C#,VB.NET以及ASP.NET应用程序中,并且不要求在系统上安装Outlook或其他邮件控件。
步骤如下:
1.添加引用
下载Spire.Email组件并添加Spire.Email.dll作为引用。
2.添加代码
I. 设置发送、接收和CC的邮件地址。
MailAddress addressFrom= "sender@outlook.com";
MailAddress addressTo = "receiver@outlook.com";
MailAddress adressCC = "cc@outlook.com";
II.创建电子邮件。
MailMessage message = new MailMessage(addressFrom,addressTo);
III. 设置邮件的主题,内容以及创建时间。
message.Subject = "测试邮件";
message.BodyText = "您好!\r\n"+
"详情请见附件";
message.Date = DateTime.Now;
IV.添加附件以及CC邮件地址。
message.Attachments.Add(newAttachment("Hydrangeas.jpg"));
message.Cc.Add(adressCC.Address);
V.创建SmtpClient实例并发送邮件。
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.outlook.com";
smtp.ConnectionProtocols = ConnectionProtocols.Ssl;
smtp.Username = addressFrom.Address;
smtp.Password = "password";
smtp.Port = 587;
smtp.SendOne(message);
运行截图:
完整代码:
using System;
using System.Globalization;
using Spire.Email;
using Spire.Email.IMap;
using Spire.Email.Smtp;
namespace Send_Email
{
class Program
{
static void Main(string[] args)
{
MailAddress addressFrom = "sender@outlook.com";
MailAddress addressTo = "receiver@outlook.com";
MailAddress adressCC = "cc@outlook.com";
MailMessage message = newMailMessage(addressFrom, addressTo);
message.Subject = "测试邮件";
message.BodyText = "您好!\r\n"+
"详情请见附件";
message.Date = DateTime.Now;
message.Attachments.Add(new Attachment("Hydrangeas.jpg"));
message.Cc.Add(adressCC.Address);
SmtpClient smtp = newSmtpClient();
smtp.Host = "smtp.outlook.com";
smtp.ConnectionProtocols = ConnectionProtocols.Ssl;
smtp.Username = addressFrom.Address;
smtp.Password = "password";
smtp.Port = 587;
Console.WriteLine("发送 : " +message.From.ToString());
Console.WriteLine("接收 : " +message.To.ToString());
Console.WriteLine("抄送 : " + message.Cc.ToString());
Console.WriteLine("日期 : " +message.Date.ToString(CultureInfo.InvariantCulture));
Console.WriteLine("主题 :" +message.Subject);
Console.WriteLine("附件 :" +message.Attachments.Count);
Console.WriteLine("-------------------BODY -----------------");
Console.WriteLine(message.BodyText);
Console.WriteLine("-------------------END ------------------");
smtp.SendOne(message);
Console.WriteLine("邮件发送成功");
Console.ReadLine();
}
}
}