搭建Apache James服务器用JAVA发送邮件
来源:互联网 发布:双色球内部数据 编辑:程序博客网 时间:2024/06/05 11:21
james是apache的一个开源项目,纯java实现。
一、搭建james服务器
1.1、去james官网下载james软件包
http://james.apache.org/download.cgi
1.2、解压运行run.bat启动james服务器
1.3、启动或关闭windows功能中启用Telnet、TFTP 客户端
1.4、命令窗口telnet localhost 4555登录james服务器,输入默认用户名密码root/root登录即可
1.5、adduser【username】【userpassword】命令添加用户,listusers查看已添加的所有用户
二、java中通过james服务器发送邮件
2.1、配置文件config.properties
#邮件配置mail.smtp.host=bert.com.cnmail.smtp.auth=truemail.sender=bert@bert.com.cnmail.sender.username=***mail.sender.password=***
2.2、Constants.java
public final class Constants {public static final String MAIL_SMTP_HOST;public static final String MAIL_SMTP_AUTH;public static final String MAIL_SENDER;public static final String MAIL_SENDER_USERNAME;public static final String MAIL_SENDER_PASSWORD;static{ResourceBundle bundle = ResourceBundle.getBundle("config");MAIL_SMTP_HOST = bundle.getString("mail.smtp.host");//邮件服务器地址MAIL_SMTP_AUTH = bundle.getString("mail.smtp.auth");//邮件服务器开启密码验证标志位MAIL_SENDER = bundle.getString("mail.sender");//发件邮箱MAIL_SENDER_USERNAME = bundle.getString("mail.sender.username");//发件邮箱用户名MAIL_SENDER_PASSWORD = bundle.getString("mail.sender.password");//发件邮箱密码}}
2.3、EmailInfo.java
public class EmailEmailInfoInfo {private String receiver;//收件人private String subject;//邮件主题private String textMessage;//短信内容private String accessoryUrl;//附件文件路径private String accessoryName;//附件名称public String getReceiver() {return receiver;}public void setReceiver(String receiver) {this.receiver = receiver;}public String getSubject() {return subject;}public void setSubject(String subject) {this.subject = subject;}public String getTextMessage() {return textMessage;}public void setTextMessage(String textMessage) {this.textMessage = textMessage;}public String getAccessoryUrl() {return accessoryUrl;}public void setAccessoryUrl(String accessoryUrl) {this.accessoryUrl = accessoryUrl;}public String getAccessoryName() {return accessoryName;}public void setAccessoryName(String accessoryName) {this.accessoryName = accessoryName;}}
2.4、EmailUtil.java
public class EmailUtil {public static synchronized boolean sendEmail(EmailInfo emailInfo) throws AddressException, MessagingException{InternetAddress[] address = null;String mailServer = Constants.MAIL_SMTP_HOST;String auth = Constants.MAIL_SMTP_AUTH;String authName = Constants.MAIL_SENDER_USERNAME;String authPwd= Constants.MAIL_SENDER_PASSWORD;String from = Constants.MAIL_SENDER;String to = emailInfo.getReceiver();String subject = emailInfo.getSubject();String textMessage = emailInfo.getTextMessage();Properties props = null;props = System.getProperties();props.put("mail.smtp.host",mailServer);props.put("mail.smtp.auth",auth);MySecurity mSec = new MySecurity(authName,authPwd);Session mailSession = Session.getDefaultInstance(props,mSec);mailSession.setDebug(false);Message msg = new MimeMessage(mailSession);msg.setFrom(new InternetAddress(from));address = InternetAddress.parse(to,false);msg.setRecipients(Message.RecipientType.TO, address);msg.setSubject(subject);msg.setSentDate(new Date());msg.setText(textMessage);Multipart multipart = new MimeMultipart();String accessoryUrl = emailInfo.getAccessoryUrl();String accessoryName = emailInfo.getAccessoryName();if(Util.isNotNull(accessoryUrl) && Util.isNotNull(accessoryName)){BodyPart messageBodyPart = new MimeBodyPart();//"D:"+File.separator+"kiding.gif"DataSource dataSource = new FileDataSource(accessoryUrl);messageBodyPart.setDataHandler(new DataHandler(dataSource));messageBodyPart.setFileName(accessoryName);multipart.addBodyPart(messageBodyPart);}BodyPart messageBodyPart = new MimeBodyPart();messageBodyPart.setContent(textMessage,"text/html;charset=GBK");//gbk编码multipart.addBodyPart(messageBodyPart);msg.setContent(multipart);Transport.send(msg,msg.getAllRecipients());return true;}}
2.5、在C:\Windows\System32\drivers\etc目录hosts文件中新增一行配置本地域名
1 0
- 搭建Apache James服务器用JAVA发送邮件
- apache james 搭建邮件服务器
- James(Java Apache Mail Enterprise Mail)+Javamail构建邮件服务
- apache james发送邮件的配置
- 用Apache James 向外网发送邮件
- Apache James 搭建自己的邮件服务器
- 用Apache James搭建本地邮件服务器
- Apache James搭建内网邮件服务器
- Apache James 搭建自己的邮件服务器
- Linux搭建apache james邮件服务器
- linux搭建Apache+James邮件服务器
- Apache James邮件服务器配置及发送外网邮件
- Apache James邮件服务器配置及发送外网邮件
- Apache James邮件服务器配置及发送外网邮件
- Apache James邮件服务器配置及发送外网邮件
- Apache James邮件服务器配置及发送外网邮件
- 阿里云服务器用smtp发送邮件返回错误
- 用 Apache James 搭建邮件服务器来收发邮件实践
- ZOJ 3949 (树形DP)
- DataBase: Oracle语法命令与Sql Server的几个不同总结
- 设置GPIO的上下拉电阻
- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- Tornado相关
- 搭建Apache James服务器用JAVA发送邮件
- 手机office办公——微软推出安卓手机端Office Mobile应用
- AndroidStudio JNI NDK CMake
- ajax的属性与事件、解决a ja x数据重复提交问题
- 如何创建一个依赖Android AAR文件的React Native组件
- excel
- 《数据结构与算法》--插入排序(类模板实现)
- Laravel 响应
- this串联构造方法