以下是详细讲解c#实现发送邮件的功能的完整攻略:
1. 准备工作
在使用C#发送邮件前,需要在电脑上安装SMTP服务,可通过“控制面板”->“程序和功能”->“启用或关闭Windows功能”下的“Internet信息服务”。
2. 引用命名空间
在代码前要先引用System.Net和System.Net.Mail两个命名空间,其中System.Net.Mail为发送邮件相关的命名空间。
using System.Net;
using System.Net.Mail;
3. 创建SmtpClient对象
需要创建SmtpClient对象并设置对应的Smtp服务器地址和端口号。
SmtpClient smtpClient = new SmtpClient("smtp.example.com", 587);
4. 设置发件人信息
创建一个MailMessage对象并设置发件人信息,包括发件人邮箱、昵称,以及收件人邮箱和抄送人邮箱(可选)。
MailMessage message = new MailMessage();
message.From = new MailAddress("sender@example.com", "Sender Name");
message.To.Add("recipient@example.com");
message.CC.Add("cc@example.com"); // 可选添加抄送人
5. 设置邮件主题、内容和附件
设置邮件主题、内容,以及添加附件。
message.Subject = "邮件主题";
message.Body = "邮件正文";
Attachment attachment = new Attachment(@"C:\Users\example.txt");
message.Attachments.Add(attachment);
6. 设置Smtp认证信息
根据SMTP服务器需要设置账号和密码。
smtpClient.Credentials = new NetworkCredential("username", "password");
7. 发送邮件并关闭SmtpClient
smtpClient.Send(message);
smtpClient.Dispose();
下面是两个示例代码:
示例一:发送纯文本邮件
using System.Net;
using System.Net.Mail;
namespace SendMailDemo
{
class Program
{
static void Main(string[] args)
{
SmtpClient smtpClient = new SmtpClient("smtp.example.com", 587);
MailMessage message = new MailMessage();
message.From = new MailAddress("sender@example.com", "Sender Name");
message.To.Add("recipient@example.com");
message.Subject = "邮件主题";
message.Body = "邮件正文";
smtpClient.Credentials = new NetworkCredential("username", "password");
smtpClient.Send(message);
smtpClient.Dispose();
}
}
}
示例二:发送带附件的邮件
using System.Net;
using System.Net.Mail;
namespace SendMailDemo
{
class Program
{
static void Main(string[] args)
{
SmtpClient smtpClient = new SmtpClient("smtp.example.com", 587);
MailMessage message = new MailMessage();
message.From = new MailAddress("sender@example.com", "Sender Name");
message.To.Add("recipient@example.com");
message.Subject = "邮件主题";
message.Body = "邮件正文";
Attachment attachment = new Attachment(@"C:\Users\example.txt");
message.Attachments.Add(attachment);
smtpClient.Credentials = new NetworkCredential("username", "password");
smtpClient.Send(message);
smtpClient.Dispose();
}
}
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c# 实现发送邮件的功能 - Python技术站