📄 sendmailtest.java
字号:
import java.util.* ;
import java.io.*;
import javax.mail.* ;
import javax.mail.internet.*;
import javax.activation.*;
public class SendMailTest
{
//定义收件人、发送人、主题等
String to="",from="",host="",filename="",messagetext="",subject="";
boolean debug=true;
//保存发送的文件名
Vector vfile = new Vector(10,10);
//保存发送的正文
Vector vmsg = new Vector(10,10);
public static void main(String[] args)
{
System.err.println("sendMailtest main() method is start!!!");
try
{
SendMailTest sendmail=new SendMailTest("mellon@localhost","fujie@localhost","localhost");
//设置一个主题
sendmail.setSubject("this is a test");
//添加一个附件
sendmail.attachfile("SendMailTest.java");
//添加第二个附件
sendmail.attachfile("SendMailTest.class");
//添加一个消息
sendmail.setMessage("send a file");
//添加第二个消息
sendmail.setMessage("send a javafile");
//发送邮件
sendmail.startSend();
}
catch(Exception e)
{
System.out.println("send mail fail!!!");
}
System.err.println("ok!!! send successed!!!");
}
public SendMailTest()
{}
public SendMailTest(String to,String from,String smtpServer)
{
//初始化收件人、发送人
this.to=to;
this.from=from;
this.host=smtpServer;
}
public void setSubject(String subject)
{
this.subject=subject;
}
//收集附加文件
public void attachfile(String fname)
{
vfile.addElement(fname);
}
//收集邮件正文
public void setMessage(String msg)
{
vmsg.addElement(msg);
}
//设置调试标志
public void setDebug(boolean debug)
{
this.debug=debug;
}
//邮件发送函数
public boolean startSend()
{
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
Session session=Session.getDefaultInstance(props, null);
session.setDebug(debug);
try
{
//创建一个MIME消息,并初始化该消息的各项元素
MimeMessage msg = new MimeMessage(session);
//设置发送人
msg.setFrom(new InternetAddress(from));
//设置接收人
InternetAddress[] address={new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO,address);
//设置主题
msg.setSubject(subject);
//把message part加入新创建的Multipart
Multipart mp = new MimeMultipart();
// 邮件内容的正文部分
// 每一部分作为一个MimeBodyPart存在
Enumeration emsg=vmsg.elements();
while(emsg.hasMoreElements())
{
messagetext=emsg.nextElement().toString();
MimeBodyPart mbp1=new MimeBodyPart();
mbp1.setText(messagetext);
mp.addBodyPart(mbp1);
}
vmsg.removeAllElements();
// 邮件内容的附件部分
// 每一部分作为一个MimeBodyPart存在
Enumeration efile=vfile.elements();
while(efile.hasMoreElements())
{
MimeBodyPart mbp2=new MimeBodyPart();
filename=efile.nextElement().toString();
//文件输入流
FileDataSource fds=new FileDataSource(filename);
//设置文件名
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName());
mp.addBodyPart(mbp2);
}
vfile.removeAllElements();
// 把MultiPart加入邮件
msg.setContent(mp);
// 设置邮件头的发送日期
msg.setSentDate(new Date());
// 发送邮件
Transport.send(msg);
}
catch (MessagingException mex)
{
mex.printStackTrace();
Exception ex = null;
if ((ex=mex.getNextException())!=null)
{
ex.printStackTrace();
}
return false;
}
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -