java通过https发送邮件。本地发送邮件没有问题,但是上传到服务器上就不能发送了 10

由于项目需求,服务器上走的https协议。发送邮件返回的是false,请问一下代码怎么改才能适应https发邮件咧?/***发送邮件**@return成功返回true,失... 由于项目需求,服务器上走的https协议。发送邮件返回的是false,请问一下代码怎么改才能适应https发邮件咧?
/**
* 发送邮件
*
* @return 成功返回true,失败返回false
*/
public boolean sendMail() {
// 构造mail session
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props,
new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
// 构造MimeMessage并设定基本的值,创建消息对象
// MimeMessage message = mailSender.createMimeMessage();
// MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
MimeMessage msg = new MimeMessage(session);
nick=javax.mail.internet.MimeUtility.encodeText(Globals.NICK_NAME);
msg.setFrom(new InternetAddress(nick+" <"+from+">"));
// 把邮件地址映射到Internet地址上
InternetAddress[] address = { new InternetAddress(to) };
msg.setRecipients(Message.RecipientType.TO, address);
// 设置邮件的标题
msg.setSubject(subject);
// 构造Multipart
Multipart mp = new MimeMultipart();
// 向Multipart添加正文
MimeBodyPart mbpContent = new MimeBodyPart();
// 设置邮件内容(纯文本格式)
// mbpContent.setText(content);
// 设置邮件内容(HTML格式)
mbpContent.setContent(content, "text/html;charset=utf-8");
// 向MimeMessage添加(Multipart代表正文)
mp.addBodyPart(mbpContent);
// 向Multipart添加MimeMessage
msg.setContent(mp);
// 设置邮件发送的时间。
msg.setSentDate(new Date());
// 发送邮件
Transport.send(msg);
// String username = "你的电子信箱用户名";
// String password = "你的电子信箱密码";
// msg.saveChanges(); // implicit with send()
// Transport transport = session.getTransport("smtp");
// transport.connect("mail.htf.com.cn", username, password);
// transport.sendMessage(msg, msg.getAllRecipients());
// transport.close();
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
展开
 我来答
198901245631
2015-03-23 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1742万
展开全部
你好:服务器的话,一个可能原因就是对配置文件的路径读取有问题,你可以可打印下路径,看看配置文件是否可以找到;再就是服务器的话,可以看下发送邮件的端口是否可用。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式