900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > C#实现qq邮箱发送邮件(验证码)

C#实现qq邮箱发送邮件(验证码)

时间:2021-04-25 12:09:53

相关推荐

C#实现qq邮箱发送邮件(验证码)

废话不多说,直接开始操作!

首先,登录发送者QQ邮箱,点开设置----》账户,再将这个(POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务)开启

例图:

开启之后点开生成授权码,获得授权码后,将授权码放入下面代码中即可!

接着编写一个类:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Data;

using System.Data.SqlClient;

using .Mail;

using ;

using .Mime;

namespace SendEmail

{

class Send

{

//实例化一个发送邮件类。

private static MailMessage mailMessage = new MailMessage();

public static bool QQ_email()

{

//发件人邮箱地址,方法重载不同,可以根据需求自行选择。

mailMessage.From = new MailAddress("发件人邮箱","发件人昵称");

//收件人邮箱地址。

mailMessage.To.Add(new MailAddress("收件人邮箱"));

//邮件标题。

mailMessage.Subject = "验证码";

//邮件内容。

mailMessage.Body = "您好,您的验证码为:663245";

//添加到附件中

AddAnnex("1号附件路径,2号附件路径,...");

//实例化一个SmtpClient类。

SmtpClient client = new SmtpClient();

//在这里我使用的是qq邮箱,所以是,如果你使用的是126邮箱,那么就是。

client.Host = "";

//使用安全加密连接。

client.EnableSsl = true;

//不和请求一块发送。

client.UseDefaultCredentials = false;

//验证发件人身份(发件人的邮箱,邮箱里的生成授权码);

client.Credentials = new NetworkCredential("发件人邮箱", "发件人授权码");

//发送

client.Send(mailMessage);

return true;

}

private static void AddAnnex(string Path)

{

string[] path = Path.Split(',');

Attachment data;

ContentDisposition disposition;

for (int i = 0; i < path.Length; i++)

{

data = new Attachment(path[i], MediaTypeNames.Application.Octet);//实例化附件

disposition = data.ContentDisposition;

disposition.CreationDate = System.IO.File.GetCreationTime(path[i]);//获取附件的创建日期

disposition.ModificationDate = System.IO.File.GetLastWriteTime(path[i]);//获取附件的修改日期

disposition.ReadDate = System.IO.File.GetLastAccessTime(path[i]);//获取附件的读取日期

mailMessage.Attachments.Add(data);//添加到附件中

}

}

}

}

然后调用这个类即可完成!相当简单!

如有不会的,请留言。。。谢谢支持!

补充一点,自己遇到的问题,我在本地测试的时候能够正常发送邮件,但是一但部署到服务器上就不能发送邮件了,其实解决办法很简单,只需要设置一下端口号就行了!client.Port = 587;邮件部署到服务器上发送不出的原因其实是服务器禁用了邮箱端口25,只要将其端口改掉就OK啦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。