现在的软件都差不多绑定了手机号之后,还需要绑定邮箱,发送邮箱验证信息,可以用邮箱接收验证码,进行修改密码或者是其他绑定等等。
其实在QQ邮箱里面有一个可以让我们也可以发送邮件,而不需要其他的软件,直接调用就可以了。首先打开你的QQ邮箱:
将其前面的两个开启即可。
C#发送邮件代码:
///
/// 发送邮件
///
/// 接收的邮箱
/// 主题
/// 内容
public ActionResult SendEmail (string tomail,string Subject,string Content)
{
System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage();
try
{
mail.To = tomail;
mail.From = "972*****[email protected]";
mail.Subject = Subject;
mail.BodyFormat = System.Web.Mail.MailFormat.Html;
mail.Body = Content;
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //身份验证
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", mail.From); //邮箱登录账号,这里跟前面的发送账号一样就行
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "kchckdtbtvoqbcdd"); //这个密码要注意:如果是一般账号,要用授权码;企业账号用登录密码
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465);//端口
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");//SSL加密
System.Web.Mail.SmtpMail.SmtpServer = "smtp.qq.com"; //企业账号用smtp.exmail.qq.com
System.Web.Mail.SmtpMail.Send(mail);
//邮件发送成功
return Json("success", JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
//失败,错误信息:ex.Message;
}
return Json("fail", JsonRequestBehavior.AllowGet);
}
前端调用:
function SendMail() {
$.post("/FrontDesk/FrontHome/[email protected]" + "&Subject=我就是测试一下" + "&Content=测试啦啦啦啦啦", function (data) {
if (data=="success") {
layer.alert("成功s");
}
});
}
这里填写的邮箱,不一定的是QQ邮箱的,也可以是139邮箱。效果图:
Java邮件发送:
需要的mail.jar和activation.jar的两个jar包百度网盘链接:https://pan.baidu.com/s/1yLbeDvoCRrXabIfUVOUdiA
提取码:1n3r
/**
* 邮箱发送邮件
* */
protected Boolean SendMaxil(String ToMail) throws ServletException,
IOException {
try {
Properties props = new Properties();
// 开启debug调试
props.setProperty("mail.debug", "true");
// 发送服务器需要身份验证
props.setProperty("mail.smtp.auth", "true");
// 设置邮件服务器主机名
props.setProperty("mail.host", "smtp.qq.com");
// 发送邮件协议名称
props.setProperty("mail.transport.protocol", "smtp");
MailSSLSocketFactory sf;sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.socketFactory", sf);
Session session = Session.getInstance(props);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
System.out.println(df.format(new Date()));// new Date()为获取当前系统时间
Message msg = new MimeMessage(session);
msg.setSubject("请查看诚聘英才邮件");// 邮件标题
StringBuilder builder = new StringBuilder();
builder.append("接收时间:" + df.format(new Date()));
builder.append("\n应聘人:袁木");
builder.append("\n电话:18934238136");
builder.append("\n职位:普通程序员");
builder.append("\n备注:我就测试一下");
msg.setText(builder.toString());
msg.setFrom(new InternetAddress("[email protected]"));
Transport transport = session.getTransport();
transport.connect("smtp.qq.com", "[email protected]",
"kchckdtbtvoqbcdd");// 这个是要做服务的
transport.sendMessage(msg, new Address[] { new InternetAddress(
ToMail) });// 这个是要接受邮件的邮箱
transport.close();
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
其中的引用,全部引用完成,不报错就可以使用了,直接调用这个方法即可。
效果图:
好了,C#、java调用QQ邮箱发送邮件就完成了,一开始不懂,找了很多资料,网上的软件需要付费才可以发送邮件,后来有人说可以借用QQ邮箱进行发送邮件,就上网找了一些资料,进行测试,发现真的可以,而且不一定是发到QQ邮箱,139邮箱也可以,所以就是用这种方式发送邮件了,又不浪费钱财,又可以随便测试。