java使用smtp协议完成发送邮件并添加附件和图片
来源:互联网 发布:淘宝不能和客服聊天 编辑:程序博客网 时间:2024/05/21 06:33
javaMail需要引用jar包:
jdk1.6以后只需要引用mail.jar一个包
// 初始化参数 private static Properties prop; // 发件人 private static InternetAddress sendMan = null; static { prop = new Properties(); prop.put("mail.transport.protocol", "smtp"); // 指定协议 prop.put("mail.smtp.host", "localhost"); // 主机 prop.put("mail.smtp.port", 25); // 端口 prop.put("mail.smtp.auth", "true"); // 用户密码认证 prop.put("mail.debug", "true"); // 调试模式 try { sendMan = new InternetAddress("xxxxx@**.com"); } catch (AddressException e) { throw new RuntimeException(e); } } @Test public void testSend() throws Exception { // 1. 创建邮件会话 Session session = Session.getDefaultInstance(prop); // 2. 创建邮件对象 MimeMessage message = new MimeMessage(session); // 3. 设置参数:标题、发件人、收件人、发送时间、内容 message.setSubject("带图片邮件"); message.setSender(sendMan); message.setRecipient(RecipientType.TO, new InternetAddress("xxxx@***.com")); message.setSentDate(new Date()); /* * 带附件(图片)邮件开发 */ // 构建一个总的邮件块 MimeMultipart mixed = new MimeMultipart("mixed"); // ---> 总邮件快,设置到邮件对象中 message.setContent(mixed); // 左侧: (文本+图片资源) MimeBodyPart left = new MimeBodyPart(); // 右侧: 附件 MimeBodyPart right = new MimeBodyPart(); // 设置到总邮件块 mixed.addBodyPart(left); mixed.addBodyPart(right); /******附件********/ String attr_path = this.getClass().getResource("a.docx").getPath(); DataSource attr_ds = new FileDataSource(new File(attr_path)); DataHandler attr_handler = new DataHandler(attr_ds); right.setDataHandler(attr_handler); right.setFileName("a.docx"); /***************设置邮件内容: 多功能用户邮件 (related)*******************/ // 4.1 构建一个多功能邮件块 MimeMultipart related = new MimeMultipart("related"); // ----> 设置到总邮件快的左侧中 left.setContent(related); // 4.2 构建多功能邮件块内容 = 左侧文本 + 右侧图片资源 MimeBodyPart content = new MimeBodyPart(); MimeBodyPart resource = new MimeBodyPart(); // 设置具体内容: a.资源(图片) String filePath = App_3ImgAndAtta.class.getResource("8.jpg").getPath(); DataSource ds = new FileDataSource(new File(filePath)); DataHandler handler = new DataHandler(ds); resource.setDataHandler(handler); resource.setContentID("8.jpg"); // 设置资源名称,给外键引用 // 设置具体内容: b.文本 content.setContent("<img src='cid:8.jpg'/> ~~~", "text/html;charset=UTF-8"); related.addBodyPart(content); related.addBodyPart(resource); // 5. 发送 Transport trans = session.getTransport(); trans.connect("xxxxxx", "1234"); trans.sendMessage(message, message.getAllRecipients()); trans.close();
0 0
- java使用smtp协议完成发送邮件并添加附件和图片
- SMTP协议发送邮件和附件
- SMTP协议发送邮件和附件
- SMTP邮件传输协议发送邮件和附件
- python应用系列教程——python使用smtp协议发送邮件:html文本邮件、图片邮件、文件附件邮件
- smtp发送邮件和附件
- java发送邮件并添加附件
- java 发送邮件(并添加附件)
- C#基于SMTP协议和SOCKET通信,实现邮件内容和附件的发送,并可隐藏收件人
- C#使用smtp发送邮件带附件
- 使用SMTP协议发送邮件
- 使用smtp协议发送邮件
- 使用java通过smtp完成发送邮件源码
- 使用java通过smtp完成发送邮件源码
- 在 Laravel 5.1 中使用SMTP驱动实现邮件发送(含附件和图片)详细教程
- asp.net使用smtp协议实现简单的发送邮件(支持附件)
- 利用smtp协议发送带附件的邮件
- 发送邮件并可以添加附件
- hibernate15
- Windows Server2012搭建邮件服务器
- 浅析Javascript 中的 this 的七种使用场景
- 有关算法时间复杂度的符号描述
- 日期对象
- java使用smtp协议完成发送邮件并添加附件和图片
- Javaweb基础
- Coursera ML笔记 -----week3 Regulariztion
- C++练习小写变大写
- 测试
- iOS中调用系统剪贴板
- 11SSH
- java中使用PrintWriter在服务器本地生成一个文件,然后往这个文件中插入内容
- El表达式