在C#中通过QQ邮箱SMTP服务发送邮件

C#与SMTP服务简单应用

代码如下:

主要是注意记得去开启SMTP服务,和获取授权码(开启服务后,会自动给用户)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
using System.Net;
using System.Net.Mail;
class Program
{
public static string mailLocalAdd ;//发件人邮箱
public static string SendToMailAdd ;//收件人邮箱
public static string keyword ;//SMTP授权码
public static string mailname;//发件人名称

static void Main()
{
try
{
MailMessage mailMessage = new MailMessage();
Console.WriteLine("发件人邮箱:");
mailLocalAdd = Console.ReadLine();
Console.WriteLine("发件人名称:");
mailname = Console.ReadLine();
Console.WriteLine("收件人邮箱:");
SendToMailAdd = Console.ReadLine();
Console.WriteLine("发件人邮箱的SMTP授权码:");
keyword = Console.ReadLine();
mailMessage.From = new MailAddress(mailLocalAdd, mailname, System.Text.Encoding.UTF8);//asgte 为发件人的地址及名称。
mailMessage.To.Add(new MailAddress(SendToMailAdd));//收信人地址
mailMessage.Bcc.Add(new MailAddress(SendToMailAdd));//添加密送人
mailMessage.Subject = "C#利用QQ邮箱SMTP服务发送邮件"; //这是主题
mailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
mailMessage.IsBodyHtml = false; //是否将邮件主体设置为html格式
Console.WriteLine("输入邮件正文:");
mailMessage.Body = Console.ReadLine(); //这是邮件正文
mailMessage.BodyEncoding = System.Text.Encoding.UTF8;
SmtpClient smtpClient = new SmtpClient("smtp.qq.com", 587); //QQ邮箱的SMTP服务器域名与端口
smtpClient.EnableSsl = true;//是否使用ssl加密
smtpClient.Credentials = new NetworkCredential(mailLocalAdd, keyword);//设置登录凭证,这里的keyword为你的邮箱的SMTP授权码
smtpClient.Send(mailMessage);
}
catch (Exception ex) { Console.WriteLine("EX:" + ex.Message); }
Console.WriteLine("按任意键关闭……");
Console.ReadLine();
}
}