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 + -
显示快捷键?