如果你认为没有必要设置MAIL服务器而又要用JAVAMAIL的邮件发送功能那最好的方式就是用自己的免费邮箱服务器!可这些服务器登陆必须要进行验证所以需要进行带有身份验证的JAVAMAIL编程!
说明
下载javamailjar和JAF框架(处理多种格式)
用你现有的免费邮箱的邮件服务器(需要身份认证)
SendEcardjava 发送mail(带附件)的javabean Email_cajava
身份认证的javabean package netcard; /** *SendEcardjava *发送mail的javabean */ import javautilProperties;
import javautilDate;
import javaxmail*;
import javaxmailinternet*;
import javaxactivation*;
public class SendEcard {
private String tomail;
private String frommail;
private String subject;
private String content;
private String imagecard;
String smtp=****;//设置邮件服务器
public SendEcard()
{
}
public String getTomail()
{
return tomail;
}
public void setTomail(String tomail)
{
thistomail = tomail;
}
public String getFrommail() {
return frommail;
}
public void setFrommail(String frommail) {
thisfrommail = frommail;
} public String getSubject() {
return subject;
}
public void setSubject(String subject)
{
thissubject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content)
{
ntent = content;
}
public String getImagecard()
{
return imagecard;
}
public void setImagecard(String imagecard)
{
thisimagecard = imagecard;
}
public boolean sendMail(){
try{
Properties p=SystemgetProperties();
pput(mailsmtphostthissmtp);
pput(mailsmtpauthtrue); //设置为须验证的模式
Session session=SessiongetDefaultInstance(pnew Email_ca(用户名密码));
MimeMessage msg=new MimeMessage(session);
msgsetSentDate(new Date());
InternetAddress from=new InternetAddress(frommail);
msgsetFrom(from);
InternetAddress[] address = {
new InternetAddress(tomail)};
msgsetRecipients(MessageRecipientTypeTO address);
msgsetSubject(thissubject); msgsetText(ntent);
Multipart mp = new MimeMultipart();
MimeBodyPart mbp=new MimeBodyPart();
FileDataSource fds=new FileDataSource(文件路径);
//得到附件本身并至入BodyPart
mbpsetDataHandler(new DataHandler(fds));
//得到文件名同样至入BodyPart
mbpsetFileName(fdsgetName());
mpaddBodyPart(mbp);
msgsetContent(mp);
Transportsend(msg);
return true;
}catch(AddressException addr_e){
Systemoutprintln(addr_egetMessage());
return false;
}catch(MessagingException msg_e){
Systemoutprintln(msg_egetMessage());
return false;
}
}
}
package netcard; /** *Email_cajava *身份认证的javabean */ import javaxmail*;
public class Email_ca extends javaxmailAuthenticator{
private String user=null; private String pwd=null;
public Email_ca(){
super();
}
public void setUser(String user){
thisuser=user;
}
public void setPwd(String pwd){
thispwd=pwd;
}
public Email_ca(String userString pwd){
super();
setUser(user);
setPwd(pwd);
}
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(userpwd);
}
}
至此你就可以利用免费邮箱服务器进行邮件发送!