資源描述:
《javamail收發(fā)郵件(帶附件,正文帶圖)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、1.郵件1.1郵件組成部分如果是新郵件就獲取,并解析它;郵件是由郵件頭和郵件體組成,在郵件頭中主要包含了收件人、發(fā)件人、主題等等基礎(chǔ)信息。而郵件體中就包括了郵件的正文和附件等內(nèi)容信息。下圖就是pop3協(xié)議下,郵件的大致內(nèi)容。1.2發(fā)送郵件(帶附件、正文帶圖片)QQ郵箱為例:需要QQ賬號和QQ登錄第三方客戶端時,密碼框的“授權(quán)碼”(相當于密碼)授權(quán)碼如下獲?。捍a如下:publicclassJavaMailboxAttachment{privateMimeMessagemessage;privateSessionsession
2、;privateStringmailHost="";privateStringmailAuth="";privateStringmailPort="";privateStringsender_username="";privateStringsender_password="";//定義一個Properties用于存放信息privatePropertiesproperties=newProperties();//-------------------------------發(fā)信箱-----------------------
3、----------------------publicJavaMailboxAttachment(Stringemail_type){try{properties.put("mail.smtp.host","smtp.qq.com");//發(fā)送郵件服務(wù)器//端口號,QQ郵箱給出了兩個端口,但是另一個我一直使用不了,所以就給出這一個587properties.put("mail.smtp.port","587");//發(fā)送郵件端口號properties.put("mail.smtp.auth","true");//此處填寫你
4、的賬號properties.put("mail.user","xxxxxxxxx@qq.com");//此處的密碼就是前面說的16位STMP授權(quán)碼properties.put("mail.password","xxxxxxxxxxxxxxxx");this.mailHost=properties.getProperty("mail.smtp.host");this.mailAuth=properties.getProperty("mail.smtp.auth");this.mailPort=properties.getPro
5、perty("mail.smtp.port");this.sender_username=properties.getProperty("mail.user");this.sender_password=properties.getProperty("mail.password");}catch(Exceptione){e.printStackTrace();}//構(gòu)建授權(quán)信息,用于進行SMTP進行身份驗證Authenticatorauthenticator=newAuthenticator(){protectedPassw
6、ordAuthenticationgetPasswordAuthentication(){//用戶名、密碼StringuserName=properties.getProperty("mail.user");Stringpassword=properties.getProperty("mail.password");returnnewPasswordAuthentication(userName,password);}};session=Session.getInstance(properties,authenticator
7、);//用戶驗證message=newMimeMessage(session);//將驗證成功的session信息,創(chuàng)建一個message對象。}/***發(fā)送郵件*@paramsubject*郵件主題*@paramsendHtml*郵件內(nèi)容*@paramreceiveUser*收件人地址*@paramfile*附件*/publicintdoSendHtmlEmail(Stringsubject,StringsendHtml,StringreceiveUser,Vectorfile){try{//發(fā)件人InternetAddr
8、essfrom=newInternetAddress(sender_username);message.setFrom(from);//收件人InternetAddressto=newInternetAddress(receiveUser);message.setRecipient(Mes