使用范例:
/*
* new sendmail() 使用gbk的默认编码发送文本信息
* new sendmail(编码,文本还是html);
*/
wuyu.javamail.sendmail mail = new wuyu.javamail.sendmail( "gbk", true );
/*
* mail.connect (smtp服务器);
* main.connect(smtp服务器,用户名,密码); 适用于smtp认证的发信服务器
*/
mail.connect( args[0], args[1], args[2] );
for ( int i = 0; i < integer.parseint( args[3] ); i++ ) {
system.out.print( i + "\t" );
/*
* main.send(from,to,cc,bcc,主题,正文,附件文件名)
* to,cc,bcc可填写多个mail地址
* 附件文件名为null,表示不发送附件
*/
mail.send( "mmwy@ynwst.com", args[4], "", "", "这是主题" + i, "<b>这是正文</b>", null );
system.out.println( i );
}
mail.close();
=-=——————–
sendmail.java
——————————
package wuyu.javamail;
/**
* 调用java mail发送邮件的类
*/
public class sendmail {
private string encode;//文本编码
private boolean html;//文本还是html内容
private javax.mail.session session;
private javax.mail.transport transport;
public sendmail() {
this.encode = "gbk";
this.html = false;
}
public sendmail( string encode, boolean html ) {
this.encode = encode;
this.html = html;
}
public boolean connect( string smtphost ) {
return connect( smtphost, null, null );
}
public boolean connect( string smtphost, string uid, string pwd ) {
try {
java.util.properties properties = new java.util.properties();
properties.put( "mail.smtp.host", smtphost );
if ( uid == null || uid.equals( "" ) ) {
session = javax.mail.session.getinstance( properties, null );
} else {
properties.put( "mail.smtp.auth", "true" );
auth auth = new auth( uid, pwd );
session = javax.mail.session.getinstance( properties, auth );
}
transport = session.gettransport( "smtp" );
transport.connect();
return true;
}
catch ( exception e ) {
e.printstacktrace();
return false;
}
}
public void close() {
if ( transport != null ) {
try {
transport.close();
}
catch ( exception e ) {
e.printstacktrace();
}
}
}
public void send( string from, string to, string cc, string bcc, string subject, string text, string[] filename ) {
try {
javax.mail.internet.mimemessage mimemessage = createmimemessage( session,
from, to, cc, bcc, subject, text, filename );
transport.sendmessage( mimemessage, mimemessage.getallrecipients() );
}
catch ( javax.mail.messagingexception e ) {
e.printstacktrace(); //to change body of catch statement use options | file templates.
}
}
private javax.mail.internet.mimemessage createmimemessage(
javax.mail.session session,
string from, string to, string cc, string bcc,
string subject, string text,
string[] filename ) throws javax.mail.messagingexception {
javax.mail.internet.mimemessage message = new javax.mail.internet.mimemessage( session );
javax.mail.internet.internetaddress fromaddress = new javax.mail.internet.internetaddress( from );
message.setfrom( fromaddress );
javax.mail.internet.internetaddress[] toaddress = javax.mail.internet.internetaddress.parse( to );
javax.mail.internet.internetaddress[] ccaddress = javax.mail.internet.internetaddress.parse( cc );
javax.mail.internet.internetaddress[] bccaddress = javax.mail.internet.internetaddress.parse( bcc );
message.setrecipients( javax.mail.message.recipienttype.to, toaddress );
message.setrecipients( javax.mail.message.recipienttype.cc, ccaddress );
message.setrecipients( javax.mail.message.recipienttype.bcc, bccaddress );
message.setsubject( subject, this.encode );
//处理附件
if ( filename != null && filename.length > 0 ) {
javax.mail.multipart multipart = new javax.mail.internet.mimemultipart();
javax.mail.internet.mimebodypart mimebodypart = new javax.mail.internet.mimebodypart();
if ( html ) {
mimebodypart.setcontent( text, "text/html;charset="+this.encode );
} else {
mimebodypart.settext( text, this.encode );
}
multipart.addbodypart( mimebodypart );
for ( int i = 0; i < filename.length; i++ ) {
try {
javax.mail.internet.mimebodypart filebodypart = new javax.mail.internet.mimebodypart();
javax.activation.datasource datasource = new javax.activation.filedatasource( filename[i] );
filebodypart.setdatahandler( new javax.activation.datahandler( datasource ) );
filebodypart.setfilename( new java.io.file( filename[i] ).getname() );
multipart.addbodypart( filebodypart );
}
catch ( exception e ) {
e.printstacktrace();
}
}
message.setcontent( multipart );
} else {
if ( html ) {
message.setcontent( text, "text/html;charset="+this.encode );
} else {
message.settext( text, this.encode );
}
}
return message;
}
}
auth.java
------------------------
package wuyu.javamail;
public class auth extends javax.mail.authenticator {
private string user,pwd;
public auth( string user, string pwd ) {
this.user = user;
this.pwd = pwd;
}
protected javax.mail.passwordauthentication getpasswordauthentication() {
return new javax.mail.passwordauthentication( this.user, this.pwd );
}
}
