1.必要条件:

a.有126邮箱,并且要有授权码,授权码获取:

点击上图的设置,如下,确保这两个服务开启

在授权密码管理界面新增授权密码,记住新增的授权密码和下面的SMTP服务器名称,下面编码会用到

b.要下载 javax.activation / javax.mail 两个jar包,若是maven工程,直接导入pom依赖:

<dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.6.2</version></dependency><!-- https://mvnrepository.com/artifact/javax.activation/activation --><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version></dependency>

2.发送纯文本邮件代码实现:

//邮件发送方的邮箱private static String send="xxxxxx@126.com";//发送方的授权码(刚刚上面获取到的授权码)private static String password="xxxxxxxx";//邮件接收方的邮箱private static String to="xxxxx@outlook.com";private static Session session=null;private static MimeMessage msg=null;private static Transport transport=null;static {Properties p=System.getProperties();//设置邮件服务器p.setProperty("mail.host", "smtp.126.com");// 发送服务器需要身份验证p.setProperty("mail.smtp.auth", "true");//获取默认的Session对象session=Session.getInstance(p);//创建默认的MimeMessagemsg=new MimeMessage(session);//设置发送方头部头字段try {//设置发送方的邮件地址msg.setFrom(new InternetAddress(send));//设置目标方(即收件人),若想发送给多人,第二个入参换成数组即可msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to));transport = session.getTransport();// 连接邮件服务器transport.connect(send, password);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} }/*** 发送文本邮件* @param subject 邮件主题* @param content 邮件内容* @throws AddressException* @throws MessagingException*/public static void sendContext(String subject,String content) throws AddressException, MessagingException {//设置邮件主题msg.setSubject(subject);//设置邮件内容msg.setText(content);// 发送邮件transport.sendMessage(msg, new Address[]{new InternetAddress(to)});// 关闭连接transport.close();}

3.带附件的邮件:

/*** * @param subject 邮件主题* @param content 邮件内容* @param filePath 附件文件路径* @throws MessagingException*/public static void sendMsgAndAttachment(String subject,String content ,String filePath) throws MessagingException {// 创建消息部分BodyPart mbp = new MimeBodyPart();// 消息mbp.setText(content);// 创建多重消息Multipart multipart = new MimeMultipart();// 设置文本消息部分multipart.addBodyPart(mbp);// 附件部分mbp = new MimeBodyPart();DataSource source = new FileDataSource(filePath);mbp.setDataHandler(new DataHandler(source));int index=0;String sep="/";if(filePath.contains("\\")) {sep="\\";}if(filePath.lastIndexOf(sep)>0) {index=filePath.lastIndexOf(sep);}String fileName=filePath.substring(index);mbp.setFileName(fileName);multipart.addBodyPart(mbp);msg.setSubject(subject);// 发送完整消息msg.setContent(multipart );//   发送消息Transport.send(msg,send,password);System.out.println("Sent message successfully....");}

java原生126邮箱发送邮件代码实现相关推荐

  1. 纯Java实现网易邮箱发送邮件

    纯Java实现网易邮箱发送邮件 基于Java开发的邮件发送程序.因为使用的是网易的smtp服务器,所以发件人邮箱要求网易邮箱.博主亲测126邮箱和163邮箱有效,yeah邮箱没有测试. 前提准备 需要 ...

  2. java模拟登录qq邮箱_使用Java实现qq邮箱发送邮件

    本文实例为大家分享了Java操作qq邮箱发送邮件的具体代码,供大家参考,具体内容如下 今天尝试了使用QQ邮箱的POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务来进行发送 ...

  3. java通过网易邮箱发送邮件

    java通过网易邮箱发送邮件 首先申请网易邮箱后开启POP3/SMTP服务,会获得一个授权码 通过hutool工具发送邮件 需要添加的依赖 <dependency><groupId& ...

  4. linux发邮件到126,使用126邮箱发送邮件的python脚本

    使用126邮箱发送邮件的python脚本: 注: 1.密码处是126邮箱的授权码,非登录密码 vi mail.py #!/usr/bin/python #coding=utf-8 import smt ...

  5. matlab 发送 126 邮件,python实现126邮箱发送邮件

    用Python发送126邮件,供大家参考,具体内容如下 今天想做个自动化邮件提醒的功能,最近刚好在学习python,都说python那么强大,想试一下python能否搞定,搜一下资料,果真可以,而且又 ...

  6. gitlab配置126邮箱发送邮件

    #配置126邮箱 vi /etc/gitlab/gitlab.rb 修改配置如下: gitlab_rails['gitlab_email_from'] = 'test@126.com' gitlab_ ...

  7. Java利用qq邮箱发送邮件

    使用java应用程序发送程序十分简单: 本案列使用了开启QQ邮箱的STMP来进行邮件发送,下面是完成步骤: 首先我们需要开启邮箱发送端口: 在获得了授权码后,接下来便是进行编写邮件发送接口了,我们使用 ...

  8. java调用QQ邮箱发送邮件

    准备工作: 1.先导两个包,activation.jar 和 mail.jar, 下载地址:https://download.csdn.net/download/weixin_42209881/125 ...

  9. 126邮箱发送邮件含超链接

    今天帮别人看一个用phpmailer发送邮件的项目. 在$mail->Body里面放入了超链接,但发送以后超链接失效.我研究了半天,后来发现这和他使用的邮箱有关系.他使用的是126的邮箱,我用h ...

最新文章

  1. MySQL 删除字段数据某关键字后的所有数据
  2. php面向对象之单表操作类
  3. 富爸爸穷爸爸害了我_这是我必须告诉爸爸的-在我们的时间用完之前
  4. 有趣的天平秤假币问题
  5. java se 9.0.4_jre 9下载(Java SE Runtime Environment)下载
  6. golang import中的.和_的使用,import的几种方式点,下划线,别名
  7. ftp端口号_ftp端口号,完成ftp更改端口号只需5步
  8. Atitit.字节数组转字符串 base64 base16 Quoted-printable 编码原理设计 attilax 总结
  9. Server concepts 详解
  10. 《JAVA疯狂讲义》学习笔记第六天
  11. VC与matlab混合编程
  12. 选择永远比努力更重要!
  13. ubuntu18.4解决问题: Installation failed. See log at /var/log/cuda-installer.log for details.
  14. 树莓派官方显示屏亮度
  15. c语言函数输出怎么让竖的变横的,c语言里面。为什么我的屏幕输出数字都是竖着输出。而不是横着。怎么才能变成横着。我想输出矩阵格式的。...
  16. 9.8 按钮button
  17. Revit中创建基于线的砌体墙及【快速砌体排砖】
  18. 【OpenCV】OCR文档识别
  19. php使用addons,think addons教程
  20. JS document方法

热门文章

  1. 保罗·乔尔达诺《质数的孤独》——读后感
  2. Flutter 编译报错 Error: The method DioHttpHeaders.add has fewer named arguments than those Context
  3. OpenGL ES 之attribute
  4. INTERSPEECH 2021丨希尔贝壳2篇论文入选全球顶级语音学术大会
  5. R语言实战(第三版)学习笔记-第一章
  6. D - 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
  7. CSS中@support的用法
  8. C++获取系统时间1970年1月1日到现在的毫秒数
  9. RN小数转中文数字(0.001=千分之一)
  10. 电脑屏幕一直闪是怎么回事?