java 邮件发送 (带图片) 您所在的位置:网站首页 live的照片怎么发送到邮箱 java 邮件发送 (带图片)

java 邮件发送 (带图片)

2024-06-23 07:35| 来源: 网络整理| 查看: 265

POM.XML

com.sun.mail javax.mail 1.5.4  

授权码需要主动到邮箱中获取

 

注意:如果遇到该代码在Windows环境下 好用 ,而到了linux 环境下报 

com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.163.com, 25; timeout -1;

出现了这种错误的话,我们需要将端口改下 :

 //1、连接邮件服务器的参数配置         Properties props = new Properties();

//在这个地方将端口改为 465

props.setProperty("mail.smtp.port", "465"); props.put("mail.smtp.ssl.enable", "true"); @RequestMapping("/sendMail") public void mail() throws Exception { String emailUser = "这里放上你的授权账号"; String emailPassword = "这里放上你的授权码"; //1、连接邮件服务器的参数配置 Properties props = new Properties(); //设置用户的认证方式 props.setProperty("mail.smtp.auth", "true"); //设置传输协议 props.setProperty("mail.transport.protocol", "smtp"); //设置发件人的SMTP服务器地址 props.setProperty("mail.smtp.host", "smtp.163.com"); //2、创建定义整个应用程序所需的环境信息的 Session 对象 Session session = Session.getInstance(props); //3、创建邮件的实例对象 Message msg = getMimeMessage(session); //4、根据session对象获取邮件传输对象Transport Transport transport = session.getTransport(); //设置发件人的账户名和授权码 transport.connect(emailUser, emailPassword); //发送邮件,并发送到所有收件人地址,message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人 transport.sendMessage(msg,msg.getAllRecipients()); //5、关闭邮件连接 transport.close(); System.out.println("发送完成"); } public static MimeMessage getMimeMessage(Session session) throws Exception{ String email = "发件人邮箱地址"; String address = "要发送的地址 逗号分割"; //创建一封邮件的实例对象 MimeMessage msg = new MimeMessage(session); //设置发件人地址 msg.setFrom(new InternetAddress(email)); //收件人用,分割 String[] strings = address.split(","); InternetAddress[] internetAddresses = new InternetAddress[strings.length]; for (int i = 0; i < strings.length; i++) { internetAddresses[i] = new InternetAddress(strings[i]); } /** * MimeMessage.RecipientType.TO:发送 * MimeMessage.RecipientType.CC:抄送 * MimeMessage.RecipientType.BCC:密送 */ msg.setRecipients(MimeMessage.RecipientType.TO,internetAddresses); //设置邮件主题 msg.setSubject("邮箱主题","UTF-8"); //一个Multipart对象包含一个或多个bodypart对象,组成邮件正文 MimeMultipart multipart = new MimeMultipart(); //读取本地图片,将图片数据添加到"节点" MimeBodyPart image = new MimeBodyPart(); DataHandler dataHandler1 = new DataHandler(new FileDataSource("F:\\picture\\74e99af874aed2d5d512e4954ac0735d.jpg")); image.setDataHandler(dataHandler1); image.setContentID("image"); //创建文本节点 MimeBodyPart text = new MimeBodyPart(); text.setContent("","text/html;charset=UTF-8"); //将文本和图片添加到multipart multipart.addBodyPart(text); multipart.addBodyPart(image); multipart.setSubType("related"); msg.setContent(multipart); return msg; }

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有