Ofbiz发送邮件

本文详细介绍了如何自定义邮件发送功能,包括配置邮件发送模块、下载并整合JavaMail包,以及发送邮件的代码实现。重点展示了如何利用JavaMail进行邮件发送操作,包括设置邮件内容、主题和收件人等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于没有使用它的发送邮件模块,所以要自己实现。但却可以使用它的一些配置设定。
1.配置general.properties
[color=indigo]defaultFromEmailAddress=pandy_test@163.com
mail.smtp.relay.host=smtp.163.com
mail.smtp.auth.user=pandy_test@163.com
mail.smtp.auth.password=发送邮箱的密码
mail.smtp.port=25
mail.smtp.socketFactory.port=25[/color]

2.假如javamail包
到[url]http://www.oracle.com/technetwork/java/javamail/index-138643.html[/url]下载javamail的包,并假如工程framework\base\lib,并引入到工程。

3.发送代码。
准备信息:
/**
* 通过type和id的组合,找到相应的学员和教练,然后构造密码并发送email,同时修改这个人相应的密码
*
* @param type
* @param id
*/
public static boolean SendPasswordInEmail(String email, String password) {
Map<String, String> emailContext = new HashMap<String, String>();
emailContext.put("Subject", UtilProperties.getMessage(resourceError,"modifyPwdEmailSubject", locale));
emailContext.put("ToEmail", email);
emailContext.put("cc", "");
emailContext.put("bcc", "");
emailContext.put("Text", UtilProperties.getMessage(resourceError,"modifyPwdEmailText", locale));
emailContext
.put("HtmlText",
" "+UtilProperties.getMessage(resourceError,"modifyPwdEmailContent1", locale)+
" : <span style='font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#666666; background-color:#EEEEEE;'>"+password+"</span>");
return SendEmailUtil.sendEmail(emailContext);
}


发送信息的类:
package org.surpass.tsp.utils;

import java.util.Map;
import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

import org.ofbiz.base.util.UtilProperties;

public class SendEmailUtil {

private static boolean isNotBlank(String str) {
if (str == null)
return false;
if (str.trim().length() == 0)
return false;
return true;
}

public static boolean sendEmail(Map<String, String> emailContext) {
String defaultFromEmailAddress = UtilProperties.getPropertyValue( "general.properties", "defaultFromEmailAddress");
String host = UtilProperties.getPropertyValue("general.properties", "mail.smtp.relay.host");
String user = UtilProperties.getPropertyValue("general.properties", "mail.smtp.auth.user");
String password = UtilProperties.getPropertyValue("general.properties", "mail.smtp.auth.password");

Properties props = new Properties();
props.setProperty("mail.debug", "false");
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.host", host);
props.setProperty("mail.transport.protocol", "smtp");
Session session = Session.getInstance(props);
javax.mail.Message msg = new MimeMessage(session);
try {

msg.setFrom(new InternetAddress(defaultFromEmailAddress));

if (isNotBlank(emailContext.get("Subject"))) {
msg.setSubject(emailContext.get("Subject"));
}

if (isNotBlank(emailContext.get("HtmlText")) && isNotBlank(emailContext.get("ToEmail"))) {
Multipart mp = new MimeMultipart();
MimeBodyPart mbp = new MimeBodyPart();
// 设定邮件内容的类型为 text/plain 或 text/html
mbp.setContent(emailContext.get("HtmlText"), "text/html;charset=UTF-8");
mp.addBodyPart(mbp);
msg.setContent(mp);

Transport transport = session.getTransport();
transport.connect(user, password);
//transport.sendMessage(msg, msg.getAllRecipients());
transport.sendMessage(msg, new Address[] { new InternetAddress( emailContext.get("ToEmail")) });
transport.close();



} else if (isNotBlank(emailContext.get("Text")) && isNotBlank(emailContext.get("ToEmail"))) {
msg.setText(emailContext.get("Text"));
Transport transport = session.getTransport();
transport.connect(user, password);
transport.sendMessage(msg, new Address[] { new InternetAddress( emailContext.get("ToEmail")) });
transport.close();
}

} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值