javamail 初级代码出错

进击的老虎 发布于 2016/10/13 20:36
阅读 268
收藏 0

源代码:public class SendEmail {
 
 public static void main(String[] args) {
  // 收件人电子邮箱
  String to = "a@xx.com.cn";
  
  // 发件人电子邮箱
  String from = "b@xx.com.cn";
  
  // 指定发送邮件的主机为 localhost
  String host = "hikml.xxxx.com.cn";
  
  // 获取系统属性
  Properties properties = System.getProperties();
  
  // 设置邮件服务器
  properties.put("mail.smtp.host", host);
  properties.put("mail.smtp.port", "25");
  properties.setProperty("mail.transport.protocol", "smtp");
  properties.put("mail.smtp.auth", "true");
  properties.put("mail.smtp.user", "a@xx.com.cn");
  properties.put("mail.smtp.password", "*******");
  
  // 获取默认session对象
  Session session = Session.getDefaultInstance(properties);
  session.setDebug(true);
  try {
   // 创建默认的 MimeMessage 对象
   MimeMessage message = new MimeMessage(session);
   // Set From: 头部头字段
   message.setFrom(new InternetAddress(from));
   
   // Set To: 头部头字段
   message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
   
   // Set Subject: 头部头字段
   message.setSubject("This is the Subject Line!");
   
   // 设置消息体
   message.setText("This is actual message");
   
   // 发送消息
   Transport.send(message);
   System.out.println("Sent message successfully....");
  } catch (MessagingException mex) {
   mex.printStackTrace();
  }
 }
 
}



就是网上的一个初级教程,但是一直调不通。hikml.xxxx.com.cn这是公司内部邮件服务器。能平通,使用25端口能telnet连通。

加载中
0
进击的老虎

不好意思:下面是错误:

javax.mail.AuthenticationFailedException: failed to connect, no password specified?
 at javax.mail.Service.connect(Service.java:329)
 at javax.mail.Service.connect(Service.java:176)
 at javax.mail.Service.connect(Service.java:125)
 at javax.mail.Transport.send0(Transport.java:194)
 at javax.mail.Transport.send(Transport.java:124)
 at com.support.mail.SendEmail.main(SendEmail.java:70)

landcoder
landcoder
提示密码错误
0
SaltyEgg
SaltyEgg
 

试下这样看看?这是我之前写的

Session session = Session.getInstance(properties,
		  new javax.mail.Authenticator() {
			protected PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication(username, password);
			}
		  });



进击的老虎
这个也写过了的,这种写法的错误是: javax.mail.MessagingException: Could not connect to SMTP host: hikml.hikvision.com.cn, port: 25; nested exception is: java.net.SocketException: Network is unreachable:
0
太黑_thj
太黑_thj
你这个用的smtp服务器来发邮件,你用的密码是自己设置的吧?不是smtp的密码,现在的smtp服务器的邮箱密码跟你的邮箱密码是不一样的,当然你也可以设置成一样的,不过有些邮箱就不支持自定义密码,比如QQ邮箱,有些可以自定义smtp的操作密码  比如网易的
0
进击的老虎

引用来自“太黑的忧郁情怀”的评论

你这个用的smtp服务器来发邮件,你用的密码是自己设置的吧?不是smtp的密码,现在的smtp服务器的邮箱密码跟你的邮箱密码是不一样的,当然你也可以设置成一样的,不过有些邮箱就不支持自定义密码,比如QQ邮箱,有些可以自定义smtp的操作密码  比如网易的
我那个密码是我平时收发邮件的密码,smtp服务器的密码怎么设置知道吗。
0
太黑_thj
太黑_thj

引用来自“太黑的忧郁情怀”的评论

你这个用的smtp服务器来发邮件,你用的密码是自己设置的吧?不是smtp的密码,现在的smtp服务器的邮箱密码跟你的邮箱密码是不一样的,当然你也可以设置成一样的,不过有些邮箱就不支持自定义密码,比如QQ邮箱,有些可以自定义smtp的操作密码  比如网易的

引用来自“进击的老虎”的评论

我那个密码是我平时收发邮件的密码,smtp服务器的密码怎么设置知道吗。
进入邮箱   开启pop   就会提示你,有可能是直接给你个操作密码,也有可能让你自己设置
返回顶部
顶部