JavaWeb 发送邮件
发送 邮件 javaweb
2023-09-11 14:14:35 时间
我们可以使用第三方的邮箱服务器来发送邮件。
常用的邮件传输协议有2种:POP3/SMTP、IMAP/SMTP。
POP和IMAP的区别:在邮箱客户端的操作,比如移动邮件、标记已读,如果使用POP,是不会同步到邮箱服务器上的;如果使用IMAP,这些操作会同步到邮箱服务器上。
需要2个jar包
- javax.mail.jar
- activation.jar
示例 使用QQ邮箱服务器发送邮件
此处使用IMAP。可在 设置->账户 -> POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 中配置。
@WebServlet("/sendMailServlet") public class SendMailServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Properties properties = new Properties(); properties.put("mail.transport.protocol", "smtp");// 连接协议 properties.put("mail.smtp.host", "smtp.qq.com");// 邮箱服务器主机名 properties.put("mail.smtp.port", 465);// 端口号 properties.put("mail.smtp.auth", "true"); properties.put("mail.smtp.ssl.enable", "true");//是否使用ssl安全连接 properties.put("mail.debug", "true");//是否在控制台显示相关信息 //获取会话对象 Session session = Session.getInstance(properties); //获取邮件对象 Message message = new MimeMessage(session); try { // 设置发件人邮箱地址 message.setFrom(new InternetAddress("xxx@qq.com")); // 设置收件人邮箱地址 message.setRecipient(Message.RecipientType.TO, new InternetAddress("xxx@qq.com")); //有多个收件人时,写成数组形式 //InternetAddress[] receiverArr={new InternetAddress("xxx@qq.com"),new InternetAddress("xxx@qq.com"),new InternetAddress("xxx@qq.com")}; //message.setRecipients(Message.RecipientType.TO, receiverArr); // 设置邮件标题 message.setSubject("邮件标题"); // 设置邮件内容 message.setText("邮件内容"); //获取邮差对象 Transport transport = session.getTransport(); //连接自己的邮箱账户,第二个参数是授权码 transport.connect("xxx@qq.com", "xxxxxxxxxxx"); //发送邮件 transport.sendMessage(message, message.getAllRecipients()); transport.close(); } catch (MessagingException e) { e.printStackTrace(); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } }
使用时修改红字部分即可。
相关文章
- rails使用QQ邮箱发送邮件蛋疼的经历
- ruby用来发送互联网邮件
- 补习系列(12)-springboot 与邮件发送
- C#基于HttpWebRequest实现发送HTTP请求的方法分析
- Python应用-完成简单邮件发送功能
- 使用spring实现邮件的发送(含测试,源码,注释)
- 使用java底层实现邮件的发送(含测试,源码)
- 谈谈游戏服务器的发送数据处理
- 项目的登录注册如何用邮箱发送验证码
- 项目的登录注册如何用邮箱发送验证码
- Linux SendMail发送邮件失败诊断案例(二)
- gitlab配置通过smtp发送邮件(QQ exmail腾讯企业为例)
- C# 调用 Outlook发送邮件实例
- python发送邮件 大全汇总
- 使用 Packet Sender 发送TCP包
- 判断一个小时之内是否重复发送了10次短信(2)
- 使用spring boot发送邮件
- ASP.NET MVC:通过FileResult向浏览器发送文件
- 【第三篇】学习 android 事件总线androidEventbus之list数据事件的传递,发送list数据事件到另外一个Activity
- formail 发送HTML 邮件通过 SENDMAIL
- spring boot发送普通文本邮件/HTML邮件/附件邮件/图片邮件完整代码
- 如何使用ABAP发送带有PDF格式附件的电子邮件
- C# POST 发送XML(返回string中可能出现中文乱码问题)
- 步骤5 - Orchestra从微服务提供商获得结果,再发送回WebSocket服务器
- scrapy通过修改配置文件发送状态邮件
- 使用newLISP由SMTPserver发送电子邮件
- 配置mailx 通过465端口发送邮件 /etc/mail.rc python脚本 发送邮件
- nc 发送 接收 文件 大文件传输
- 发送垃圾邮件的僵尸网络——药物(多)、赌博、股票债券等广告+钓鱼邮件、恶意下载链接、勒索软件+推广加密货币、垃圾股票、色情网站(带宏的office文件、pdf等附件)
- python实战===使用随机的163账号发送邮件
- Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)
- centos7安装Logwatch配合msmtp邮件客户端发送服务器监控分析日志
- 解决阿里云企业邮箱发送错误码提示
- SSM整合框架实现发送邮件功能