当前位置: 技术问答>java相关
javamail的一个最初级的问题!
来源: 互联网 发布时间:2015-01-04
本文导语: import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; class MailExample { public static void main(String[] args) throws Exception { String toAddr="jin24@163.net"; String fromAddr="jin24@21cn.com"; String subject="测...
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
class MailExample
{
public static void main(String[] args) throws Exception
{
String toAddr="jin24@163.net";
String fromAddr="jin24@21cn.com";
String subject="测试!";
String body="welcome javamail";
try{
Properties props = new Properties();
props.put("mail.smtp.host","smtp.163.net");
Session sesion = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(sesion);
msg.setFrom(new InternetAddress(fromAddr));
msg.setRecipient(Message.RecipientType.TO,new InternetAddress(toAddr));
msg.setSubject(subject);
msg.setText(body);
Transport.send(msg);
}
catch(Exception e)
{
System.out.println(e);
}
}
}
编译通过,运行时提示javax.mail.NoSuchProviderException: No provider for Address type: rfc822
import javax.mail.*;
import javax.mail.internet.*;
class MailExample
{
public static void main(String[] args) throws Exception
{
String toAddr="jin24@163.net";
String fromAddr="jin24@21cn.com";
String subject="测试!";
String body="welcome javamail";
try{
Properties props = new Properties();
props.put("mail.smtp.host","smtp.163.net");
Session sesion = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(sesion);
msg.setFrom(new InternetAddress(fromAddr));
msg.setRecipient(Message.RecipientType.TO,new InternetAddress(toAddr));
msg.setSubject(subject);
msg.setText(body);
Transport.send(msg);
}
catch(Exception e)
{
System.out.println(e);
}
}
}
编译通过,运行时提示javax.mail.NoSuchProviderException: No provider for Address type: rfc822
|
我把SMTP设为:smtp.21cn.com, 编译运行没有问题,可能是环境变量的设置问题:
是否在Classpath中包含了mail.jar等库
是否在Classpath中包含了mail.jar等库
|
一般的邮件服务器都不提供无验证的邮件发送功能,www.163.com是我唯一知道的可用的SMTP服务器
|
try
Message msg = new MimeMessage(sesion);
你的程序在我这里可以运行
正常。
Message msg = new MimeMessage(sesion);
你的程序在我这里可以运行
正常。
|
smtp.163.net是否为免费的smtp服务器?
也许需要验证
也许需要验证