목차
JavaMail 이메일 개발
1. 일반 텍스트만 포함된 이메일
코드 예시는 다음과 같습니다.
package com.lyh.sendemail; import java.util.Properties; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; //发送邮件 public class MessageDemo1 { public static void main(String[] args) throws Exception{ Properties props = new Properties();//key value:配置参数。真正发送邮件时再配置 props.setProperty("mail.transport.protocol", "smtp");//指定邮件发送的协议,参数是规范规定的 props.setProperty("mail.host", "smtp.163.com");//指定发件服务器的地址,参数是规范规定的 // props.setProperty("mail.debug", "true");//邮件发送的调试模式,参数是规范规定的 props.setProperty("mail.smtp.auth", "true");//请求服务器进行身份认证。参数与具体的JavaMail实现有关 Session session = Session.getInstance(props);//发送邮件时使用的环境配置 session.setDebug(true); MimeMessage message = new MimeMessage(session); //设置邮件的头 message.setFrom(new InternetAddress("xxx@163.com")); message.setRecipients(Message.RecipientType.TO, "xxx@qq.com"); message.setSubject("This is second message"); //设置正文 message.setContent("<h1 id="hello">hello</h1>", "text/html"); // message.setText("<h1 id="hello">hello</h1>");//纯文本 message.saveChanges(); //发送邮件 Transport ts = session.getTransport(); ts.connect("xxx@163.com", "123456"); // 密码为授权码不是邮箱的登录密码 ts.sendMessage(message, message.getAllRecipients());//对象,用实例方法} } }
로그인 후 복사
2. 사진이 포함된 이메일
a. >
package com.lyh.sendemail; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; //发送邮件 public class MessageDemo2 { public static void main(String[] args) throws Exception{ Properties props = new Properties();//key value:配置参数。真正发送邮件时再配置 props.setProperty("mail.transport.protocol", "smtp");//指定邮件发送的协议,参数是规范规定的 props.setProperty("mail.host", "smtp.163.com");//指定发件服务器的地址,参数是规范规定的 // props.setProperty("mail.debug", "true");//邮件发送的调试模式,参数是规范规定的 props.setProperty("mail.smtp.auth", "true");//请求服务器进行身份认证。参数与具体的JavaMail实现有关 Session session = Session.getInstance(props);//发送邮件时使用的环境配置 session.setDebug(true); MimeMessage message = new MimeMessage(session); //设置邮件的头 message.setFrom(new InternetAddress("xxx@163.com")); message.setRecipients(Message.RecipientType.TO, "xxx@qq.com"); message.setSubject("This is second message"); //设置正文 //搞出文本部分 MimeBodyPart textPart = new MimeBodyPart(); textPart.setContent("aaa<img src='cid:mm'/ alt="JavaMail 이메일 개발" >aaa", "text/html"); //搞图片部分 MimeBodyPart imagePart = new MimeBodyPart(); imagePart.setContentID("mm"); //把磁盘上的文件加到part中使用到了JAF框架 DataHandler dh = new DataHandler(new FileDataSource("src/0.jpg")); imagePart.setDataHandler(dh); MimeMultipart mp = new MimeMultipart(); mp.addBodyPart(textPart); mp.addBodyPart(imagePart); mp.setSubType("related");//有关系的 message.setContent(mp); message.saveChanges(); //发送邮件 Transport ts = session.getTransport(); ts.connect("xxx@163.com", "123456"); //密码为授权码不是邮箱的登录密码 ts.sendMessage(message, message.getAllRecipients());//对象,用实例方法 } }
로그인 후 복사
package com.lyh.sendemail; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; //发送邮件 public class MessageDemo3 { public static void main(String[] args) throws Exception{ Properties props = new Properties();//key value:配置参数。真正发送邮件时再配置 props.setProperty("mail.transport.protocol", "smtp");//指定邮件发送的协议,参数是规范规定的 props.setProperty("mail.host", "smtp.163.com");//指定发件服务器的地址,参数是规范规定的 // props.setProperty("mail.debug", "true");//邮件发送的调试模式,参数是规范规定的 props.setProperty("mail.smtp.auth", "true");//请求服务器进行身份认证。参数与具体的JavaMail实现有关 Session session = Session.getInstance(props);//发送邮件时使用的环境配置 // session.setDebug(true); MimeMessage message = new MimeMessage(session); //设置邮件的头 message.setFrom(new InternetAddress("xxx@163.com")); message.setRecipients(Message.RecipientType.TO, "xxxqq.com"); message.setSubject("这是一封复杂的邮件"); //设置正文 //搞出文本部分 MimeBodyPart textPart = new MimeBodyPart(); textPart.setContent("美女<img src='cid:mm'/ alt="JavaMail 이메일 개발" >aaa", "text/html;charset=UTF-8"); //搞图片部分 MimeBodyPart imagePart = new MimeBodyPart(); imagePart.setContentID("mm"); //把磁盘上的文件加到part中使用到了JAF框架 DataHandler dh = new DataHandler(new FileDataSource("src/0.jpg")); imagePart.setDataHandler(dh); MimeMultipart mp = new MimeMultipart(); mp.addBodyPart(textPart); mp.addBodyPart(imagePart); mp.setSubType("related");//有关系的 MimeBodyPart textImagePart = new MimeBodyPart(); //将 MimeMultipart 添加到 MimeBodyPart实现附件的发送 textImagePart.setContent(mp); //创建附件部分 MimeBodyPart attachmentPart = new MimeBodyPart(); dh = new DataHandler(new FileDataSource("src/账户.rar")); String filename = dh.getName(); attachmentPart.setDataHandler(dh); //手工设置文件名 防止乱码使用 javaMail里的 MimeUtility进行编码 attachmentPart.setFileName(MimeUtility.encodeText(filename)); //最终的 MimeMultipart MimeMultipart finalMp = new MimeMultipart(); finalMp.addBodyPart(attachmentPart); finalMp.addBodyPart(textImagePart); finalMp.setSubType("mixed"); message.setContent(finalMp); message.saveChanges(); //发送邮件 Transport ts = session.getTransport(); ts.connect("xxx@163.com", "123456"); //密码为授权码不是邮箱的登录密码 ts.sendMessage(message, message.getAllRecipients());//对象,用实例方法 } }
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
4 몇 주 전
By DDD
Windows 11 KB5054979의 새로운 기능 및 업데이트 문제를 해결하는 방법
3 몇 주 전
By DDD
Atomfall에서 크레인 제어 키 카드를 찾을 수 있습니다
4 몇 주 전
By DDD
<s> : 데드 레일 - 모든 도전을 완료하는 방법
1 몇 달 전
By DDD
Atomfall Guide : 항목 위치, 퀘스트 가이드 및 팁
1 몇 달 전
By DDD

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7697
15


자바 튜토리얼
1640
14


Cakephp 튜토리얼
1393
52


라라벨 튜토리얼
1287
25


PHP 튜토리얼
1229
29

