日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > ChatGpt >内容正文

ChatGpt

用JAVAMAIL发送邮件的一个简单例子

發(fā)布時(shí)間:2024/1/23 ChatGpt 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用JAVAMAIL发送邮件的一个简单例子 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
寫了一個(gè)收發(fā)郵件的應(yīng)用程序[在列表里面可以看到]但是畢竟有些復(fù)雜,關(guān)鍵部分其實(shí)也就是幾行代碼,為了大家使用方便,我把發(fā)送郵件的代碼單獨(dú)拿了出來(lái),并且分為發(fā)送附件/不發(fā)送附件兩個(gè)方法,便于大家查看,只是什么設(shè)計(jì)啦,編程思想啦,等等就談不到了,呵呵,大家將就吧

??? JDK版本
??????? 1.4.x
??? 其?? 他
??????? JAVAMAIL相關(guān)包
??? 功能簡(jiǎn)介:
??????? 簡(jiǎn)單的郵件發(fā)送功能,可以發(fā)送附件

??? 源代碼如下

import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; import java.util.*; import java.util.*; import java.text.*; import java.io.*; public class SendMail {//傳入的參數(shù)有密碼、姓名、誰(shuí)發(fā)、發(fā)給誰(shuí)、主題、正文內(nèi)容、smtp地址、附件文件路徑、附件的新文件名、發(fā)送類型(text/html)//發(fā)送郵件主函數(shù)public String sendmail(int myport,String password,String username,String myfrom,String myto,String mysubject,String mytext,String mysmtp,String[] filepath,String[] newfilename,String htmlandtext){try{int indexstr=0;if (filepath[0]!=null && !filepath[0].equals(""))indexstr=1;//替換字符串// jbemail myjbemail=new jbemail();// filepath=myjbemail.myreplace(filepath,"\\","\\\\");// System.out.println("附件地址"+filepath+"服務(wù)器地址"+mysmtp+mysmtp.length());//Properties props = new Properties();Properties props = System.getProperties();Session sendMailSession;Store store; //收郵件時(shí)使用Transport transport;//發(fā)郵件時(shí)使用props.put("mail.smtp.host",mysmtp);props.put("mail.smtp.auth","true");SmtpAuthenticator sa=new SmtpAuthenticator(username,password);sendMailSession = Session.getInstance(props,sa);//sendMailSession = Session.getInstance(props,null);sendMailSession.setDebug(true);MimeMessage newMessage = new MimeMessage(sendMailSession);newMessage.setFrom(new InternetAddress(myfrom));newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(myto));//設(shè)定郵件格式newMessage.setSentDate(new Date());System.out.println(htmlandtext+"郵件正文格式");Multipart multipart = new MimeMultipart();if (htmlandtext.equals("text")){//獲得文本格式的郵件newMessage.setSubject(mysubject);BodyPart messageBodyPart = new MimeBodyPart();messageBodyPart.setText(mytext);multipart.addBodyPart(messageBodyPart);}else if(htmlandtext.equals("html")){//設(shè)置郵件內(nèi)容,將郵件body部分轉(zhuǎn)化為HTML格式newMessage.setSubject(mysubject,"gb2312");BodyPart messageBodyPart = new MimeBodyPart();messageBodyPart.setDataHandler(new DataHandler(mytext,"text/html;charset=gb2312"));multipart.addBodyPart(messageBodyPart);}if (indexstr>0){for(int i=0;i {if (newfilename[i]!=null){//創(chuàng)建BodyPart對(duì)象以便獲得附件BodyPart messageBodyPart = new MimeBodyPart();System.out.println("附件地址"+filepath[i]);DataSource source = new FileDataSource(filepath[i]);messageBodyPart.setDataHandler(new DataHandler(source));messageBodyPart.setFileName(newfilename[i]);multipart.addBodyPart(messageBodyPart);}}}//將正文和附件添加到郵件中newMessage.setContent(multipart);newMessage.saveChanges();//transport = sendMailSession.getStore("pop3");transport = sendMailSession.getTransport("smtp");transport.connect(mysmtp,myport,username,password);//transport.connect();transport.send(newMessage,newMessage.getAllRecipients());System.out.println("成功發(fā)送到"+myto);return "ok";}catch(MessagingException m){System.out.println(m.toString()+"失敗");return myto;}}//不含發(fā)送附件的函數(shù)//傳入的參數(shù)有port地址、密碼、姓名、誰(shuí)發(fā)、發(fā)給誰(shuí)、主題、正文內(nèi)容、smtp地址、發(fā)送類型(text/html)public String sendmail(String mailPathlog,int myport,String password,String username,String myfrom,String myto,String mysubject,String mytext,String mysmtp,String htmlandtext){try{//解碼mysubject=java.net.URLDecoder.decode(mysubject);//Properties props = new Properties();Properties props = System.getProperties();Session sendMailSession;Store store; //收郵件時(shí)使用Transport transport;//發(fā)郵件時(shí)使用props.put("mail.smtp.host",mysmtp);props.put("mail.smtp.auth","true");SmtpAuthenticator sa=new SmtpAuthenticator(username,password);//身份驗(yàn)證sendMailSession = Session.getInstance(props,sa);//sendMailSession = Session.getInstance(props,null);sendMailSession.setDebug(true);MimeMessage newMessage = new MimeMessage(sendMailSession);try{newMessage.setFrom(new InternetAddress(myfrom,"法律之星"));newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(myto));}catch(java.io.UnsupportedEncodingException ex){System.out.println(ex.toString());}//設(shè)定郵件格式newMessage.setSentDate(new Date());System.out.println(htmlandtext+"郵件正文格式");Multipart multipart = new MimeMultipart();if (htmlandtext.equals("text")){//獲得文本格式的郵件newMessage.setSubject(mysubject);BodyPart messageBodyPart = new MimeBodyPart();messageBodyPart.setText(mytext);multipart.addBodyPart(messageBodyPart);}else if(htmlandtext.equals("html")){//設(shè)置郵件內(nèi)容,將郵件body部分轉(zhuǎn)化為HTML格式newMessage.setSubject(mysubject,"gb2312");BodyPart messageBodyPart = new MimeBodyPart();messageBodyPart.setDataHandler(new DataHandler(mytext,"text/html;charset=gb2312"));multipart.addBodyPart(messageBodyPart);}//將正文添加到郵件中newMessage.setContent(multipart);newMessage.saveChanges();//transport = sendMailSession.getStore("pop3");transport = sendMailSession.getTransport("smtp");transport.connect(mysmtp,myport,username,password);//transport.connect();transport.send(newMessage,newMessage.getAllRecipients());System.out.println("成功發(fā)送到"+myto+mytext);return "ok";}catch(MessagingException m){System.out.println(m.toString()+"失敗");//生成當(dāng)前日期SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");Date dateTime= new Date();String sDateTime=dateFormat.format(dateTime);//生成日志文件try{File filelog=new File(mailPathlog+"\\"+"mainlog.txt");BufferedWriter out2=new BufferedWriter(new FileWriter(filelog.getPath(),true));String newline = System.getProperty("line.separator");out2.write(sDateTime+"/"+mysmtp+"/"+myfrom+"/"+myto+"/"+m.toString()+"/"+newline);out2.close();}catch (IOException ex){System.out.println(ex.toString());}return myto;}}class SmtpAuthenticator extends Authenticator{//SMTP身份驗(yàn)證public SmtpAuthenticator(String username,String password){this.username=username;this.password=password;}public PasswordAuthentication getPasswordAuthentication(){return new PasswordAuthentication(this.username,this.password);}String username=null;String password=null;} }


?

總結(jié)

以上是生活随笔為你收集整理的用JAVAMAIL发送邮件的一个简单例子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。