首页 > 代码库 > javamail发送邮件服务

javamail发送邮件服务

一、需求

最近给一个朋友做了一个积分商城,主要是通过后台管理商品兑换信息,移动端使用微信公众号,用户想要要在移动端提供商品售后服务功能,客户从移动端发起售后服务,调用发送邮件的服务及时将需要告知的内容发送给商家客服人员;

二、实现方式

在项目中引用javamail jar包,从传统的实现方式我作了些改变,首先是要去设置一个发送邮件的账号,设置方法:账号邮箱账号》设置》账号,开启此项目服务:

技术分享

通过账号的手机发送指定的短信内容,收到验证密码,作用为发送邮件的服务器账号。

再指定一个为客服收邮件的账号,将客户从移动端发送来的信息通过服务器邮件账号转发给客服人员,客服人员从反馈内容中去进行联系客户及回复邮件解决客户商品售后问题

三、以下是全部使用代码

技术分享
 1 package com.hafiz.www.utils; 2  3 import java.util.Properties; 4  5 import javax.mail.Address; 6 import javax.mail.Message; 7 import javax.mail.Session; 8 import javax.mail.Transport; 9 import javax.mail.internet.InternetAddress;10 import javax.mail.internet.MimeMessage;11 12 public class Mail {13     public void SendMail(String name,String mobile,String email,String content) throws Exception {14           Properties props = new Properties();15           // 开启debug调试16           String account="*********@qq.com";17           props.setProperty("mail.debug", "true");18           // 发送服务器需要身份验证19           props.setProperty("mail.smtp.auth", "true");20           // 设置邮件服务器主机名21           props.setProperty("mail.host", "smtp.qq.com");22           // 发送邮件协议名称23           props.setProperty("mail.transport.protocol", "smtp");24           props.setProperty("mail.smtp.socketFactory.class",25             "javax.net.ssl.SSLSocketFactory");26           props.setProperty("mail.smtp.port", "465");27           props.setProperty("mail.smtp.socketFactory.port", "465");28           // 设置环境信息29           Session session = Session.getInstance(props);30           // 创建邮件对象31           Message msg = new MimeMessage(session);32           msg.setSubject("PIANO会员之家");33           String contents=String.format("******这是一封由服务器转发的邮件,请勿直接回复******\n您好,我是会员%s\n手机会为%s\n电子邮件为%s\n我的预约售后服务为:%s\n请及时帮我处理!", name,mobile,email,content);34           // 设置邮件内容  ******这是一封验证邮箱的邮件******\n  如果您有投资的意愿,请回复邮件,我们会有业务员跟您联系!35           msg.setText(contents);36           // 设置发件人,并设置标头37           msg.setFrom(new InternetAddress("*********@qq.com", "PIANO会员之家"));38           // 获得链接39           Transport transport = session.getTransport();40           // 连接邮件服务器,这里设置发件人的邮箱和密码。如果是163的邮箱就把"smtp.qq.com"改成"smtp.163.com"41           //其他的同理,不然连接不到邮件服务器42           transport43             .connect("smtp.qq.com", "*********@qq.com", "sasfcpccfffqzbjia");44           // 发送邮件45           transport46             .sendMessage(msg, new Address[] { new InternetAddress(account) });47           // 关闭连接48           transport.close();49          }50 }
View Code

 

javamail发送邮件服务