📄 sendmail.java
字号:
package com.test;
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class SendMail
{
private String smtphost; //SMTP转发服务器
private String smtpuser; //SMTP转发的用户名
private String smtppassword; //SMTP转发的密码
private String from; //发件人
private String to; //收件人
private String subject; //邮件标题
private String body; //邮件内容
private String bodystyle = "text/plain;charset=GB2312"; //邮件内容的格式(默认为文本格式)
private String filename; //附件的文件名
private Vector file = new Vector(); //用于保存发送附件的文件名的集合
/**用于返回SMTP转发服务器*/
public String getSmtphost()
{
return smtphost;
}
/**用于设置SMTP转发服务器*/
public void setSmtphost(String inString)
{
smtphost = inString;
}
/**用于返回SMTP用户名*/
public String getSmtpuser()
{
return smtpuser;
}
/**用于设置SMTP用户名*/
public void setSmtpuser(String inString)
{
smtpuser = inString;
}
/**用于返回SMTP密码*/
public String getSmtppassword()
{
return smtppassword;
}
/**用于设置SMTP密码*/
public void setSmtppassword(String inString)
{
smtppassword = inString;
}
/**用于返回发件人*/
public String getFrom()
{
return from;
}
/**用于设置发件人*/
public void setFrom(String inString)
{
from = inString;
}
/**用于返回收件人*/
public String getTo()
{
return to;
}
/**用于设置收件人*/
public void setTo(String inString)
{
to = inString;
}
/**用于返回邮件标题*/
public String getSubject()
{
return subject;
}
/**用于设置邮件标题*/
public void setSubject(String inString)
{
subject = inString;
}
/**用于返回邮件内容*/
public String getBody()
{
return body;
}
/**用于设置邮件内容*/
public void setBody(String inString)
{
body = inString;
}
/**用于返回邮件内容的格式*/
public String getBodyStyle()
{
return bodystyle;
}
/**用于设置邮件内容的格式*/
public void setBodyStyle(String inString)
{
bodystyle = inString;
}
/**用于返回附件的文件名*/
public void attachfile(String fname)
{
file.addElement(fname);
}
/**发送邮件*/
public boolean send()
{
boolean result;
if(smtphost==""||smtphost==null)
{
System.out.println("An error ocer:smtphost is invalid!");
return false;
}
if(from==""||from==null)
{
System.out.println("An error ocer:main sender is invalid!");
return false;
}
if(to==""||to==null)
{
System.out.println("An error ocer:mail receiver is invalid!");
return false;
}
if(subject==""||subject==null)
{
System.out.println("An error ocer:subject is invalid!");
return false;
}
Properties props = System.getProperties();
if(smtpuser==""||smtpuser==null||smtppassword==""||smtppassword==null)
{
props.put("mail.smtp.host",smtphost);
}
else
{
props.put("mail.smtp.auth","true");
}
Session session = Session.getInstance(props,null);
try
{
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.BCC,InternetAddress.parse(to));
msg.setSubject(subject);
Multipart mp = new MimeMultipart();//BodyPart将加入
Enumeration efile = file.elements();
while(efile.hasMoreElements())
{
MimeBodyPart mbp = new MimeBodyPart();
filename = efile.nextElement().toString();//选择出每一个附件名
FileDataSource fds = new FileDataSource(filename);//得到数据源
mbp.setDataHandler(new DataHandler(fds));//得到附件本身并植入BodyPart
mbp.setFileName(fds.getName());//得到文件名同样植入BodyPart
mp.addBodyPart(mbp);
}
file.removeAllElements();//一走集合中的所有元素
MimeBodyPart mbp_body = new MimeBodyPart();
mbp_body.setContent(body,bodystyle);//加入邮件正文
mp.addBodyPart(mbp_body);
msg.setContent(mp);//Multipart加入到信件
msg.setSentDate(new Date());//设置信件头的发送日期
if(smtpuser==""||smtpuser==null||smtppassword==""||smtppassword==null)
{
Transport.send(msg);//发送信件
}
else
{
Transport trans = session.getTransport("smtp");
trans.connect(smtphost,smtpuser,smtppassword);
trans.sendMessage(msg,msg.getAllRecipients());//发送信件
trans.close();
}
result = true;
}
catch(MessagingException mex)
{
mex.printStackTrace();
Exception ex = null;
if((ex=mex.getNextException())!=null)
{
ex.printStackTrace();
}
result = false;
}
return result;
}
public static void main(String []args)
{
SendMail mymail = new SendMail();
mymail.setSmtphost("1");
mymail.setSmtpuser("1");
mymail.setSmtppassword("1");
mymail.setFrom("1");
mymail.setTo("1");
mymail.setSubject("1");
mymail.setBody("1");
mymail.setBodyStyle("1");
mymail.attachfile("");
mymail.send();
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -