java創建郵件並發送
阿新 • • 發佈:2017-06-08
表示 制作 .proto 收件箱 發送郵件 所有 filename res span
創建郵件涉及到的類:MimeMessage、MimeBodyPart、MimeMultipart
發送郵件涉及到的類:Transport
相關類:Session、Properties
實例:
/** * 制作帶附件的郵件並發送 * * @throws Exception */ public static void makeEmailAndSend() throws Exception { String from = "";// 發件箱 String to = "";// 收件箱 String subject = "test";//郵件主題 String body = "testResult";// 郵件內容 // 郵件服務器地址以及登陸用戶名和密碼 String smtpHost = ""; String user = ""; String password = ""; Properties props = new Properties();// Properties用戶屬性配置 props.setProperty("mail.transport.protocol", "smtp");// 使用的協議(JavaMail規範要求)props.setProperty("mail.smtp.host", smtpHost);// 發件人的郵箱的 SMTP服務器地址 props.setProperty("mail.smtp.auth", "true");// 請求認證,參數名稱與具體實現有關 Session session = Session.getDefaultInstance(props);// session對象主要用於屬性操作和會話管理 // 創建MimeMessage對象,定義MIME消息頭信息 MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setRecipients(MimeMessage.RecipientType.TO, to); message.setSubject(subject); message.setSentDate(new Date()); // message.setText(body);//發純文本郵件,可以直接用setText // 定義一個MimeMultipart對象,可以包含多個MimeBodyPart MimeMultipart multipart = new MimeMultipart(); // 表示郵件的一個MIME消息 MimeBodyPart bodyPart = new MimeBodyPart(); bodyPart.setContent(body, "text/html;charset=utf-8");// 設置HTML格式的郵件正文 multipart.addBodyPart(bodyPart); // 創建一個附件的MimeBodyPart對象, 並將它加入到前面創建的MimeMultipart對象中 MimeBodyPart attachment = new MimeBodyPart(); FileDataSource dataSource = new FileDataSource("D:\\test.jpg"); attachment.setFileName(dataSource.getName()); attachment.setDataHandler(new DataHandler(dataSource)); multipart.addBodyPart(attachment); //將multipart對象添加到消息體中 message.setContent(multipart); message.saveChanges();//保存並生成郵件內容 // 用JavaMail Session對象的getTransport 方法來初始化Transport Transport transport = session.getTransport("smtp"); transport.connect(smtpHost, user, password); // 發送,message.getAllRecipients() 獲取到的是在創建郵件對象時添加的所有收件人, 抄送人, 密送人 transport.sendMessage(message, message.getAllRecipients()); transport.close(); }
java創建郵件並發送