CentOS下WebLogic配置邮件服务步骤
确保CentOS系统已安装JavaMail API(WebLogic依赖其处理邮件协议),通常WebLogic自带JavaMail库,无需额外安装。若需手动安装,可通过sudo yum install java-1.8.0-openjdk-devel获取Java开发包(JavaMail兼容Java 8及以上版本)。
通过浏览器访问WebLogic管理控制台(如http://<weblogic-server-ip>:7001/console),使用管理员账号(如weblogic)登录。
MyMailSession,自定义即可);mail/MySession,应用程序将通过此名称查找会话);mail.smtp.host:SMTP服务器地址(如smtp.gmail.com);mail.smtp.port:SMTP端口(如587,TLS加密端口);mail.smtp.auth:是否开启认证(设为true);mail.smtp.starttls.enable:是否启用TLS加密(设为true);mail.smtp.from:发件人邮箱地址(如your-email@gmail.com);mail.smtp.user/mail.smtp.password:SMTP认证用户名/密码(若开启认证需填写);在Targets标签页,将邮件会话分配给需要使用它的WebLogic服务器(如AdminServer或自定义集群),点击Save后,点击顶部Activate Changes使配置生效。
在Web应用程序中,通过JNDI查找邮件会话并发送邮件:
import javax.mail.*;
import javax.mail.internet.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import java.util.Properties;
public class EmailSender {
public static void sendEmail(String to, String subject, String body) throws Exception {
// 1. 获取JNDI上下文
Context ctx = new InitialContext();
// 2. 查找邮件会话(JNDI名称需与配置一致)
Session session = (Session) ctx.lookup("mail/MySession");
// 3. 创建邮件消息
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("your-email@gmail.com"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
message.setSubject(subject);
message.setText(body);
// 4. 发送邮件
Transport.send(message);
System.out.println("Email sent successfully!");
}
}
注意:若使用Maven构建项目,需添加JavaMail依赖:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
运行应用程序中的sendEmail方法(如通过Servlet或单元测试),检查收件箱是否收到测试邮件。若未收到,需检查:
/var/log/weblogic/server.log)是否有错误;若SMTP服务器要求SSL加密(如端口465),需添加以下属性:
mail.smtp.socketFactory.class:javax.net.ssl.SSLSocketFactory;mail.smtp.socketFactory.port:SSL端口(如465);mail.smtp.auth:true;mail.smtp.port:留空或设置为SSL端口。