布衣王子

Email:roose2008@gmail.com QQ:79212131

对javamail 有些疑惑

简单的程序是这样的
package doudou;
import javax.mail.*;
import java.util.*;
import javax.mail.internet.*;

/**
* @author Bromon
*/
public class SenderWithSMTPVer
{
String host="";
String user="";
String password="";

public void setHost(String host)
{
this.host=host;
}

public void setAccount(String user,String password)
{
this.user=user;
this.password=password;
}

public void send(String from,String to,String subject,String content)
{
Properties props = new Properties();
props.put("mail.smtp.host", host);//指定SMTP服务器
props.put("mail.smtp.auth", "true");//指定是否需要SMTP验证
try
{
Session mailSession = Session.getDefaultInstance(props);

mailSession.setDebug(true);//是否在控制台显示debug信息

Message message=new MimeMessage(mailSession);
message.setFrom(new InternetAddress(from));//发件人
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));//收件人

message.setSubject(subject);//邮件主题
message.setText(content);//邮件内容
message.saveChanges();

Transport transport = mailSession.getTransport("smtp");
transport.connect(host, user, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}catch(Exception e)
{
System.out.println(e);
}

}

public static void main(String args[])
{
SenderWithSMTPVer sm=new SenderWithSMTPVer();

sm.setHost("smtp.tom.com");//指定要使用的邮件服务器
sm.setAccount("morningq","******");//指定帐号和密码

/*
* @param String 发件人的地址
* @param String 收件人地址
* @param String 邮件标题
* @param String 邮件正文
*/
sm.send("morningq@tom.com","zeng@tom.com","标题","内容");
}

}
编译通过了,但始终无法得到服务器的响应

我仿佛记得用这中方式进行收发邮件必须要你所使用的邮件服务商提供pop和smtp服务。对吗?

posted on 2008-03-27 10:41 草包书生 阅读(180) 评论(1)  编辑  收藏

评论

# re: 对javamail 有些疑惑 2011-04-27 17:04 xhl

可以的,这个和邮件服务器的安全设置有关,有时候可能是邮件服务器防火墙的原因。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

常用链接

相册

java的相关连接

最新评论