刚上班让做这个,有点蒙,求大神帮助。前端和后台代码。谢谢!
(邮箱编辑页面实现:可发送多人,正文可以嵌入图片,可以上传附件)
3条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
syt_Jimmy 2017-09-14 02:56最佳回答 专家已采纳private static String HOST = "";
private static String USER = "";
private static String PWD = "";
private static String FROM = "";public static void main(String[] agrs) { System.out.println("发邮件开始"); //需要注意这个图片的地址 如果是本地地址 邮件看不到图片 必须是服务器地址 sendHtmlEmail(to,"该付款了","<!DOCTYPE html><html><head><meta charset=''utf-8'></head><body><img src='http://192.168.1.108:9586/payImg/20170910.png'></body></html>"); System.out.println("发邮件结束"); } /** * 发送纯文本邮件 * * @param to * 收件人地址 * @param subject * 邮件标题 * @param content * 邮件内容 * @author LY */ public static void sendTextEmail(String to, String subject, String content) { Properties props = new Properties(); Authenticator auth = new EmailAuthenticator(); // 邮件服务器认证 props.put("mail.smtp.host", HOST); // 验证授权 props.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props, auth); // 在console处显示过程信息 session.setDebug(true); // 用session为参数定义消息对象 MimeMessage message = new MimeMessage(session); try { // 加载发件人地址 message.setFrom(new InternetAddress(FROM)); // 加载收件人地址 // message.addRecipient(Message.RecipientType.TO, new // InternetAddress(to)); // 加载收件人地址,发送多封邮件 int mailtocount = to.split(";").length; if (mailtocount > 1) { String[] tos = to.split(";"); for (int i = 0; i < mailtocount; i++) { message.addRecipient(Message.RecipientType.TO, new InternetAddress(tos[i])); } } else { Address toAddress = new InternetAddress(to); // 收件人 message.setRecipient(Message.RecipientType.TO, toAddress); } // 加载标题 message.setSubject(subject); // 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件 Multipart multipart = new MimeMultipart(); // 设置邮件的文本内容 BodyPart contentPart = new MimeBodyPart(); contentPart.setText(content); multipart.addBodyPart(contentPart); message.setContent(multipart); // 保存邮件 message.saveChanges(); // 发送邮件 Transport transport = session.getTransport("smtp"); // 连接服务器的邮箱 transport.connect(HOST, USER, PWD); // 把邮件发送出去 transport.sendMessage(message, message.getAllRecipients()); transport.close(); } catch (Exception e) { e.printStackTrace(); } } public static void sendHtmlEmail(String to, String subject, String content) { Properties props = new Properties(); Authenticator auth = new EmailAuthenticator(); // 邮件服务器认证 props.put("mail.smtp.host", HOST); // 验证授权 props.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props, auth); // 在console处显示过程信息 session.setDebug(true); // 用session为参数定义消息对象 MimeMessage message = new MimeMessage(session); try { // 加载发件人地址 message.setFrom(new InternetAddress(FROM)); // 加载收件人地址 // message.addRecipient(Message.RecipientType.TO, new // InternetAddress(to)); // 加载收件人地址,发送多封邮件 int mailtocount = to.split(";").length; if (mailtocount > 1) { String[] tos = to.split(";"); for (int i = 0; i < mailtocount; i++) { message.addRecipient(Message.RecipientType.TO, new InternetAddress(tos[i])); } } else { Address toAddress = new InternetAddress(to); // 收件人 message.setRecipient(Message.RecipientType.TO, toAddress); } // 加载标题 message.setSubject(subject); message.setText("哎,损失了"); /* * //设置消息正文,文本 message.setText("Welcome To JavaMail"); //设置HTML内容 * message.setContent("<a href='http://www.163.com'>百度</a>", * "text/html;charset=utf-8"); */ // MimeMultipart类是一个容器类,包含MimeBodyPart类型的对象 Multipart mainPart = new MimeMultipart(); // 创建一个包含HTML内容的MimeBodyPart BodyPart body = new MimeBodyPart(); // 设置html内容 body.setContent(content, "text/html;charset=utf-8"); // 将MimeMultipart设置为邮件内容 mainPart.addBodyPart(body); message.setContent(mainPart); // /////////////////////sesion获得Transprot Transport transport = session.getTransport("smtp"); // 连接服务器的邮箱 transport.connect(HOST, USER, PWD); transport.sendMessage(message, message.getAllRecipients()); transport.close(); } catch (Exception e) { e.printStackTrace(); } } /** * 发送带内嵌图片的HTML邮件 */ public static void sendHtmlWithInnerImageEmail(String to, String subject, String text, String imgPath) { try { // 创建Session实例对象 Properties props = new Properties(); Authenticator auth = new EmailAuthenticator(); // 邮件服务器认证 props.put("mail.smtp.host", HOST); // 验证授权 props.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props, auth); // 创建邮件内容 MimeMessage message = new MimeMessage(session); // 邮件主题,并指定编码格式 message.setSubject(subject, "utf-8"); // 发件人 message.setFrom(new InternetAddress(FROM)); // 收件人 message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); // 抄送 // message.setRecipient(RecipientType.CC, new // InternetAddress("java_test@sohu.com")); // 密送 (不会在邮件收件人名单中显示出来) // message.setRecipient(RecipientType.BCC, new // InternetAddress("417067629@qq.com")); // 发送时间 message.setSentDate(new Date()); // 创建一个MIME子类型为“related”的MimeMultipart对象 MimeMultipart mp = new MimeMultipart("related"); // 创建一个表示正文的MimeBodyPart对象,并将它加入到前面创建的MimeMultipart对象中 MimeBodyPart htmlPart = new MimeBodyPart(); mp.addBodyPart(htmlPart); // 创建一个表示图片资源的MimeBodyPart对象,将将它加入到前面创建的MimeMultipart对象中 MimeBodyPart imagePart = new MimeBodyPart(); mp.addBodyPart(imagePart); // 将MimeMultipart对象设置为整个邮件的内容 message.setContent(mp); // 设置内嵌图片邮件体 DataSource ds = new FileDataSource(new File(imgPath)); DataHandler dh = new DataHandler(ds); imagePart.setDataHandler(dh); imagePart.setContentID("aaa.png"); // 设置内容编号,用于其它邮件体引用 // 创建一个MIME子类型为"alternative"的MimeMultipart对象,并作为前面创建的htmlPart对象的邮件内容 MimeMultipart htmlMultipart = new MimeMultipart("alternative"); // 创建一个表示html正文的MimeBodyPart对象 MimeBodyPart htmlBodypart = new MimeBodyPart(); // 其中cid=androidlogo.gif是引用邮件内部的图片,即imagePart.setContentID("androidlogo.gif");方法所保存的图片 htmlBodypart.setContent(text, "text/html;charset=utf-8"); htmlMultipart.addBodyPart(htmlBodypart); htmlPart.setContent(htmlMultipart); // 保存并生成最终的邮件内容 message.saveChanges(); // 发送邮件 Transport.send(message); } catch (Exception e) { e.printStackTrace(); } }
采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
查看更多回答(2条)
报告相同问题?
提交
相关推荐 更多相似问题
- 2020-08-29 09:01主要为大家详细介绍了基于JavaMail的Java实现复杂邮件发送功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
- 2019-07-20 16:21树叶过河 Z的博客 我们通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器) POP3协议–>接收邮件: 我们通常把处理用户pop3请求(邮件接收请求)的服务器称之为POP3服务器(邮件接收服务器) 邮件收发...
- 2018-10-24 13:40该java代码包含有 1. 发送一封只包含文本的简单邮件 2.发送包含内嵌图片的邮件 ...4.发送包含内嵌图片和附件的复杂邮件 相关配套博文: https://blog.csdn.net/qq_36474549/article/details/83342615
- 2020-07-04 22:52大白熊_BlankBear的博客 要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。 SMTP服务器地址:一般是 smtp.xxx.com,...
- 2021-11-24 19:43复杂邮件程序完整Java源码.doc
- 2018-07-26 12:43Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承...Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 [1] 。
- 2018-09-14 15:39JavaMail创建的邮件是基于MIME协议的。因此可以使用JavaMail创建出包含图片,包含附件的复杂邮件。
- 2020-09-21 17:49吃着火锅敲代码的博客 Java邮件发送基于springboot实现邮件发送相关版本下面是相关代码整理邮件发送接口MailService邮件发送实现代码MailServiceImpl封装的邮件实体EmailMsg邮件模板,.ftl文件最后一点,邮件发送者配置完结 基于...
- 2016-06-20 23:11xietansheng的博客 上一篇文章 基于 JavaMail 的 Java 邮件发送:简单邮件发送 讲解了邮件的基本协议,...本文将介绍如何创建并发送一封包含图片和附件的复杂邮件。 一封复杂的邮件内容可以看做是由很多节点(或者可以说是“片段”...
- 2020-03-30 09:50达希_的博客 看到很多关于SpringBoot发送邮件的文章,感觉都有点繁琐,所以整理了一下我自己感觉比较简洁的方法给初学者快速上手。 引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <...
- 2022-04-06 17:58neverland06的博客 JavaMail 是sun公司(现以被甲骨文收购)为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如前面所讲的SMTP,POP3,IMAP,还有MIME等。我们在使用JavaMail ...
- 2020-03-04 15:14猩火燎原的博客 记录一下在java中发送邮件的实现方式,下面这个工具类是根据在网上查阅的资料自己整理出来的。 类中只有两个方法: 1.第一个就是普通的发送文本内容邮件的方法。 2.第二个是能发送附件邮件的方法。如果还想实现更...
- 2021-02-26 12:43一笑很青城的博客 基于Java Mail的电子邮件收发系统的设计与实现毕业论文目 录第1章 概述11.1研究目的和意义11.2国内外发展趋势和现状21.3 系统特点4第2章 相关技术和工具简介62.1 Swing简介62.2 Java Mail简介62.3 Java平台简介72.4 ...
- 2019-07-20 16:03Marvellous丶的博客 Java实现邮件发送 一、邮件服务器与传输协议 要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱...
- 2019-06-14 18:05编程之艺术的博客 有时候我们会遇到自动发送邮件通知、邮件验证码、节假日祝福邮件发送、邮件自动发送广告功能,今天我们就谈谈邮件自动发送是怎么实现的。案例使用Java语言来编写,使用springBoot来搭建项目。 步骤一:添加邮件依赖...
- 2021-02-03 20:24简单Java邮件是使用最简单的轻量级Java邮件库,同时能够发送复杂的电子邮件,包括,经过(!),,,, ,,甚至, 和具有属性覆盖的, 和工具。 只需发送电子邮件即可,而无需处理 。 Simple Java Mail库是之上的...
- 2021-02-12 15:07无敌米修的博客 第一次尝试:用awt 包将HTML源码转换为图片优点:不依赖任何外部JAR包,缺点:对CSS的支持比较差,复杂点的样式就无法展示,且不支持外部引入的CSS和写在style中的CSS,只能写在标签上Eg:import java.awt.Color;...
- 2020-10-19 00:01java利用javamail批量发送邮件,以qq邮箱为例,带图片和附件。 直接可以运行,修改代码后可以增加配置界提高易用性 如需源代码可站内联系我
- 2014-06-17 09:51java 发送邮件,支持简单邮件,复杂的邮件
- 2020-07-08 00:40CHEN_SN的博客 狂神说Java——实现邮件发送笔记及其代码 1.邮件发送原理图 2.jar包的支持 activation-1.1.1.jar mail-1.4.7.jar 3.授权码的获取 4.简易文本邮件发送的实现 由上图我们可以确定几个必须步骤 1.创建session对象 2....
- 没有解决我的问题, 去提问