?? sendmail.java
字號:
package mail; //發送和接受email的包名import javax.mail.*;import javax.mail.internet.*;import javax.activation.*;import java.util.*;public class SendMail{ private String host = ""; //記錄發送email的smtp Server 名 private String from = ""; //發送者的email地址 private String to = ""; //接受者的email地址 private String subject = ""; //email的主題 private String text = ""; //email的內容 private Multipart mp = new MimeMultipart(); private int flag=0; //標記,判斷郵件是否包含附件 public SendMail() //構造函數 { //空構造函數,讀者可以給里面加入相應內容,以擴大此程序的功能 } public boolean sendMail() //發送email的函數,返回值為true表示發送成功,否則表示發送失敗 { boolean rtnbl = true; //返回值,true表示成功 try { Properties props = System.getProperties(); props.put("mail.smtp.host",host); //這個Session類代表JavaMail 中的一個郵件session. //每一個基于 JavaMail的應用程序至少有一個session但是可以有任意多的session。 //在這個例子中, Session對象需要知道用來處理郵件的SMTP 服務器。 Session session = Session.getInstance(props,null); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); //設置信息的發送者 message.setRecipient(Message.RecipientType.TO,new InternetAddress(to)); //設置信息的接受者 message.setSubject(subject); //設置信息的標題 message.setSentDate(new Date()); //設置發送的時間 if(flag==0) //flag為0時表示郵件不附帶附件 { message.setText(text); //設置文本信息內容 } else if(flag==1)//flag為1時表示郵件帶有附件 { message.setContent(mp); //設置帶附件的信息內容 } Transport transport = session.getTransport("smtp"); transport.connect(); transport.send(message); //調用Transport類的方法發送郵件 transport.close(); } catch(Exception e) { System.out.println("sendmail.java:"+e.getMessage()); rtnbl = false; } return rtnbl; } //設置發送郵件服務器的地址,如smtp.sina.com.cn public void setHost(String str) { host = str; } //設置發送方郵件地址 public void setFrom(String str) { from = str; } //設置接收方郵件地址 public void setTo(String str) { to = str; } //郵件標題 public void setSubject(String str) { subject = str; } //郵件正文 private void setText(String str) { text = str; } //郵件附件,該方法沒有經過仔細的調試,讀者可自行調試。 /* private void setAffix(String []strs) { try { MimeBodyPart mbpText=new MimeBodyPart(); mbpText.setText(text); //添加文本信息 mp.addBodyPart(mbpText); int i=strs.length; for(int j=0;j<i;j++) //用一個循環添加多個附件 { MimeBodyPart mbpFile=new MimeBodyPart(); FileDataSource fds=new FileDataSource(strs[j]); mbpFile.setDataHandler(new DataHandler(fds)); mbpFile.setFileName(new String(fds.getName().getBytes("GB2312"),"ISO-8859-1")); //解決中文問題 mp.addBodyPart(mbpFile); //添加附件 } flag=1; //設置flag,表示該郵件帶有附件 } catch(Exception e) { System.out.println("Add Affix Error:"+e); } } //郵件內容,有附件 public void setContent(String text,String []args) { this.setText(text); this.setAffix(args); } */ //郵件內容,無附件,純文本文件 public void setContent(String text) { this.setText(text); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -