首页 > 编程语言 >java实现发送邮件功能

java实现发送邮件功能

时间:2022-09-04 22:37:52浏览次数:70  
标签:java String import 发送 static props mail 邮件

java实现发送邮件功能

 

  1. <!--发送邮件-->
  2. <dependency>
  3. <groupId>javax.mail</groupId>
  4. <artifactId>mail</artifactId>
  5. <version>1.4.7</version>
  6. </dependency>

 

  1. import org.apache.tomcat.util.descriptor.web.WebXml;
  2. import java.util.Date;
  3. import java.util.Properties;
  4. import javax.mail.Message.RecipientType;
  5. import javax.mail.Session;
  6. import javax.mail.Transport;
  7. import javax.mail.internet.InternetAddress;
  8. import javax.mail.internet.MimeMessage;
  9. public class MailUtils {
  10. //服务器的地址
  11. public static final String SMTPSERVER = "xxx";
  12. //服务器的端口
  13. public static final String SMTPPORT = "xxx";
  14. //服务器的账号
  15. public static final String ACCOUT = "xxxxx";
  16. //服务器的密码
  17. public static final String PWD = "xxxxxx";
  18. //发件人的账号
  19. public static final String emailform = "xxxxx";
  20. public static void main(String[] args) throws Exception {
  21. String emailto = "xxxxxxxxxx";
  22. String subject = "(出差人英文名)取消出差通知";
  23. String content= "<出差人英文名>原计划(时间含yyyy/mm/dd hh:mm)xx到xx,从(地点)xx到xx进行出差。先提出取消,请知晓!\n" +
  24. "【取消原因】\n" +
  25. "Xxxxx\n" +
  26. "【原出差目的】\n" +
  27. "Xxxxx\n";
  28. MailUtils.sendEmail( emailto, subject, content);
  29. }
  30. public static void sendEmail(String emailto,String subject,String content) {
  31. try {
  32. // 创建邮件配置
  33. Properties props = new Properties();
  34. props.setProperty("mail.transport.protocol", "smtp"); // 使用的协议(JavaMail规范要求)
  35. props.setProperty("mail.smtp.host", SMTPSERVER); // 发件人的邮箱的 SMTP 服务器地址
  36. props.setProperty("mail.smtp.port", SMTPPORT);
  37. props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
  38. // props.setProperty("mail.smtp.auth", "true"); // 需要请求认证
  39. // props.setProperty("mail.smtp.ssl.enable", "true");// 开启ssl
  40. // 根据邮件配置创建会话,注意session别导错包
  41. Session session = Session.getDefaultInstance(props);
  42. // 开启debug模式,可以看到更多详细的输入日志
  43. session.setDebug(true);
  44. //创建邮件
  45. MimeMessage message = createEmail(session, emailto, subject, content);
  46. //获取传输通道
  47. Transport transport = session.getTransport();
  48. transport.connect(SMTPSERVER,ACCOUT, PWD);
  49. //连接,并发送邮件
  50. transport.sendMessage(message, message.getAllRecipients());
  51. transport.close();
  52. }catch (Exception e){
  53. e.printStackTrace();
  54. }
  55. }
  56. private static MimeMessage createEmail(Session session, String emailto,String subject,String content) throws Exception {
  57. // 根据会话创建邮件
  58. MimeMessage msg = new MimeMessage(session);
  59. // address邮件地址, personal邮件昵称, charset编码方式
  60. InternetAddress fromAddress = new InternetAddress(emailform,
  61. "", "utf-8");
  62. // 设置发送邮件方
  63. msg.setFrom(fromAddress);
  64. InternetAddress receiveAddress = new InternetAddress(
  65. emailto, "", "utf-8");
  66. // 设置邮件接收方
  67. msg.setRecipient(RecipientType.TO, receiveAddress);
  68. // 设置邮件标题
  69. msg.setSubject(subject, "utf-8");
  70. msg.setText(content);
  71. // 设置显示的发件时间
  72. msg.setSentDate(new Date());
  73. // 保存设置
  74. msg.saveChanges();
  75. return msg;
  76. }
  77. }

 

https://blog.csdn.net/liu154794/article/details/98964549

标签:java,String,import,发送,static,props,mail,邮件
From: https://www.cnblogs.com/sunny3158/p/16656342.html

相关文章

  • Java邮件发送中的setRecipient方法使用
    Java邮件发送中的setRecipient方法使用一、方法setRecipient(Message.RecipientTypetype,Addressaddress),是用于设置邮件的接收者。1、有两个参数,第一个参数是接收者的......
  • java复制文件的4种方式及拷贝文件到另一个目录下的实例代码
    java复制文件的4种方式及拷贝文件到另一个目录下的实例代码这篇文章主要介绍了java复制文件的4种方式,通过实例带给大家介绍了java拷贝文件到另一个目录下的方法,需要的......
  • Java实现文件下载Zip压缩
    Java实现文件下载Zip压缩目录一、概述二、代码功能实现一、概述开发过程中碰到一个需求,需要将服务器上的多个文件打包为zip,并进行下载响应到客户端,写了一个Demo总......
  • autohotkey 发送到 word
    GroupAddauo_gruop,ahk_exemsedge.exeGroupAddauo_gruop,ahk_exechrome.exeGroupAddauo_gruop,ahk_exesnipaste.exeGroupAddauo_gruop,ahk_exemspaint.e......
  • java开学测试
    石家庄铁道大学2022年秋季  2021 级课堂测试试卷(一)(15分)课程名称: JAVA语言程序设计  任课教师: 王建民        考试时间: 150 分钟   一、考试要求:1......
  • Java表达式计算工具-Aviator的使用
    Java表达式计算工具-Aviator的使用添加依赖:<!--https://mvnrepository.com/artifact/com.googlecode.aviator/aviator--><dependency><groupId>com.googlecode.......
  • Java集合
    集合java集合分为Collection和Map集合Collecttion接口List元素有序(指的是存储时,与存放顺序保持一致)、可重复的集合Set元素无序、不可重复的集合Map......
  • Java异常处理机制
    异常Exception:#1.什么是异常##简单分类:要理解java异常处理是如何工作的,需要掌握以下三种类型的异常:检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程......
  • 生成allure报告报错:Exception in thread "main" java.lang.NoClassDefFoundError: com
     报错如图:  问题解决经过:从报错中看刚开始以为是java版本问题,然后就尝试换了jdk11(我本地之前是jdk8,也就是jdk1.8),但是换了之后还是不行,然后以为是allure没有装好......
  • Java基础-原码、反码、补码的理解
    注意,我们这里举列的原码和反码只是为了求负数的补码,在计算机中没有原码,反码的存在,只有补码。 一.原码1>.正数的原码就是它的本身假设使用一个字节存储整数,整数10......