java原生126邮箱发送邮件代码实现
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邮箱发送邮件代码实现相关推荐
- 纯Java实现网易邮箱发送邮件
纯Java实现网易邮箱发送邮件 基于Java开发的邮件发送程序.因为使用的是网易的smtp服务器,所以发件人邮箱要求网易邮箱.博主亲测126邮箱和163邮箱有效,yeah邮箱没有测试. 前提准备 需要 ...
- java模拟登录qq邮箱_使用Java实现qq邮箱发送邮件
本文实例为大家分享了Java操作qq邮箱发送邮件的具体代码,供大家参考,具体内容如下 今天尝试了使用QQ邮箱的POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务来进行发送 ...
- java通过网易邮箱发送邮件
java通过网易邮箱发送邮件 首先申请网易邮箱后开启POP3/SMTP服务,会获得一个授权码 通过hutool工具发送邮件 需要添加的依赖 <dependency><groupId& ...
- linux发邮件到126,使用126邮箱发送邮件的python脚本
使用126邮箱发送邮件的python脚本: 注: 1.密码处是126邮箱的授权码,非登录密码 vi mail.py #!/usr/bin/python #coding=utf-8 import smt ...
- matlab 发送 126 邮件,python实现126邮箱发送邮件
用Python发送126邮件,供大家参考,具体内容如下 今天想做个自动化邮件提醒的功能,最近刚好在学习python,都说python那么强大,想试一下python能否搞定,搜一下资料,果真可以,而且又 ...
- gitlab配置126邮箱发送邮件
#配置126邮箱 vi /etc/gitlab/gitlab.rb 修改配置如下: gitlab_rails['gitlab_email_from'] = 'test@126.com' gitlab_ ...
- Java利用qq邮箱发送邮件
使用java应用程序发送程序十分简单: 本案列使用了开启QQ邮箱的STMP来进行邮件发送,下面是完成步骤: 首先我们需要开启邮箱发送端口: 在获得了授权码后,接下来便是进行编写邮件发送接口了,我们使用 ...
- java调用QQ邮箱发送邮件
准备工作: 1.先导两个包,activation.jar 和 mail.jar, 下载地址:https://download.csdn.net/download/weixin_42209881/125 ...
- 126邮箱发送邮件含超链接
今天帮别人看一个用phpmailer发送邮件的项目. 在$mail->Body里面放入了超链接,但发送以后超链接失效.我研究了半天,后来发现这和他使用的邮箱有关系.他使用的是126的邮箱,我用h ...
最新文章
- MySQL 删除字段数据某关键字后的所有数据
- php面向对象之单表操作类
- 富爸爸穷爸爸害了我_这是我必须告诉爸爸的-在我们的时间用完之前
- 有趣的天平秤假币问题
- java se 9.0.4_jre 9下载(Java SE Runtime Environment)下载
- golang import中的.和_的使用,import的几种方式点,下划线,别名
- ftp端口号_ftp端口号,完成ftp更改端口号只需5步
- Atitit.字节数组转字符串 base64 base16 Quoted-printable 编码原理设计 attilax 总结
- Server concepts 详解
- 《JAVA疯狂讲义》学习笔记第六天
- VC与matlab混合编程
- 选择永远比努力更重要!
- ubuntu18.4解决问题: Installation failed. See log at /var/log/cuda-installer.log for details.
- 树莓派官方显示屏亮度
- c语言函数输出怎么让竖的变横的,c语言里面。为什么我的屏幕输出数字都是竖着输出。而不是横着。怎么才能变成横着。我想输出矩阵格式的。...
- 9.8 按钮button
- Revit中创建基于线的砌体墙及【快速砌体排砖】
- 【OpenCV】OCR文档识别
- php使用addons,think addons教程
- JS document方法
热门文章
- 保罗·乔尔达诺《质数的孤独》——读后感
- Flutter 编译报错 Error: The method DioHttpHeaders.add has fewer named arguments than those Context
- OpenGL ES 之attribute
- INTERSPEECH 2021丨希尔贝壳2篇论文入选全球顶级语音学术大会
- R语言实战(第三版)学习笔记-第一章
- D - 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- CSS中@support的用法
- C++获取系统时间1970年1月1日到现在的毫秒数
- RN小数转中文数字(0.001=千分之一)
- 电脑屏幕一直闪是怎么回事?