sendmail.java
来自「该文件中包含了用java开发的邮件发送系统」· Java 代码 · 共 139 行
JAVA
139 行
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 + =
减小字号Ctrl + -
显示快捷键?