我写的JavaMail代码,可以用163免费邮箱发邮件,却不能用163免费企业邮箱发送

阚雷--闞靁 2013-08-04 10:29:50
代码如下

String host = "smtp.ym.163.com"; // 163免费企业邮箱的smtp服务器
String from = "myname@****.com"; // 我的企业邮箱地址
String to = "receiver@***.com"; // 邮件要发送到的邮箱地址
String username = "myname@****.com";

String password = "secret"; //

Properties props = new Properties();


props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");

SmtpAuth smtpAuth = new SmtpAuth(username, password);
Session session = Session.getDefaultInstance(props, smtpAuth);


session.setDebug(true);

String msg = "hello";
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
BodyPart mdp = new MimeBodyPart();
mdp.setContent(msg, "text/html;charset=gb2312");
Multipart mm = new MimeMultipart();
mm.addBodyPart(mdp);
message.setContent(mm);

message.setSubject("这是一个好消息");
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();



结果显示:


但是我用免费163个人邮箱账户发送,就可以。这是为什么呢?网上有说是网易企业邮箱的服务器地址官方给的不对。但是也没说正确的是什么。求大神指导!!
...全文
9895 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
awoshiwo 2015-07-24
  • 打赏
  • 举报
回复
我的是开始可以发,但是一段时间之后就发不了了!重启服务器就好了!
S117 2013-08-05
  • 打赏
  • 举报
回复
根据报的错误来看 是认证失败了 可能是用户名或密码错误 或者是你163企业邮箱的POP3/SMTP服务没有开启! 再或者其他什么原因
fireelf000 2013-08-05
  • 打赏
  • 举报
回复
smtp.ym.163.com这个地址是没错的,我们的邮件服务用的也是这个地址,

	/**
	 * 发送html邮件
	 * @param from 发件人
	 * @param to 收件人
	 * @param subject 邮件主题
	 * @param text 邮件内容
	 * @param host 邮件服务器类型(请传入smtp类型的邮件服务器)
	 * @param username 登录用户名
	 * @param password 登录密码
	 * @throws MessagingException 
	 */
	public void sendHtmlMail(String from, String []to, String subject, String text, String host, String username, 
		String password) throws MessagingException
	{
		//设置服务器验证信息
		Properties prop = new Properties();
		prop.setProperty("mail.smtp.auth", "true");
		prop.setProperty("mail.smtp.timeout", "30000");
		
		//设置邮件内容
		JavaMailSenderImpl javaMailSend = new JavaMailSenderImpl();
		MimeMessage message = javaMailSend.createMimeMessage();
		MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8");
		
		messageHelper.setFrom(from);
		messageHelper.setTo(to);
		messageHelper.setSubject(subject);
		messageHelper.setText(text, true);
		
		//设置邮件服务器登录信息
		javaMailSend.setHost(host);
		javaMailSend.setUsername(username);
		javaMailSend.setPassword(password);
		javaMailSend.setJavaMailProperties(prop);
		
		javaMailSend.send(message);   
	}
这是我之前写的发送邮件的代码, 项目中也在使用,希望能对楼主有所帮助
shejianan 2013-08-04
  • 打赏
  • 举报
回复
企业邮箱和免费邮箱应该是两套不同邮件系统,他们所有的服务器地址也有所区别,如果百度不到的话直接电话联系网易企业邮箱应该应该会告诉你

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧