ewomail 邮件服务器搭建
启动命令
docker run  -d -h zzmail.com --restart=always -p 25:25 -p 109:109 -p 110:110   -p 143:143   -p 465:465   -p 587:587   -p 993:993   -p 995:995  -p 80:80 -p 8081:8080
--name ewomail bestwu/ewomailj
进入容器内部
docker exec -it ewomail bash

修改配置文件 将 content_filter = smtp-amavis:[127.0.0.1]:10024 注释

vi etc/postfix/main.cf
重启容器
docker restart ewomail
进入容器内部,修改hosts文件
vi etc/hosts
新增127.0.0.1 mail.zzmail.com zzmail.com smtp.zzmail.com imap.zzmail.com

邮件客户端管理员登录
http://ip:80/?admin
账号 admin
初始密码 12345
添加域名:zzmail.com IMAP 服务器本机ip 端口143 SMTP 服务器本机ip 端口25

邮件服务端:
http://ip:8081/
账号admin
初始密码ewomail123
新增域名 zzmail.com
添加后缀名zzmail.com 邮箱账号

邮件客户端账号登录
http://ip:80
账号 服务端新增
后缀名zzmail.com 邮箱账号
密码为设置的密码
java 代码发送邮件
package com.spz.demo.singleboot.utils;

import com.sun.xml.internal.messaging.saaj.packaging.mime.MessagingException;

import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;


/**
* @ClassName Test1
* @Description 邮箱发送测试类
* @Author zhaozhang
* @Date 2023/5/10 10:47
* @Version 1.0
  */
  public class Test1 {
  public static void main(String[] args) throws MessagingException, javax.mail.MessagingException, UnsupportedEncodingException {
  Properties props = new Properties();
  // 开启debug调试
  props.setProperty("mail.debug", "true");
  // 发送服务器需要身份验证
  props.setProperty("mail.smtp.auth", "true");
  // 设置邮件服务器主机名
  props.setProperty("mail.host", ip);
  // 发送邮件协议名称
  props.setProperty("mail.transport.protocol", "smtp");

       // 设置环境信息
       Session session = Session.getInstance(props);

       // 创建邮件对象
       Message msg = new MimeMessage(session);
       msg.setSubject("邮件主题");
       // 设置邮件内容
//                msg.setText("邮件内容");
//向multipart对象中添加邮件的各个部分内容,包括文本内容和附件
MimeMultipart multipart = new MimeMultipart();
//设置邮件的文本内容
MimeBodyPart contentPart = new MimeBodyPart();
contentPart.setContent("邮件内容", "text/html;charset=UTF-8");
multipart.addBodyPart(contentPart);
//添加附件
MimeBodyPart filePart = new MimeBodyPart();
DataSource source = new FileDataSource("附件地址");
//添加附件的内容
filePart.setDataHandler(new DataHandler(source));
//添加附件的标题
filePart.setFileName(MimeUtility.encodeText("附件文件名"));
multipart.addBodyPart(filePart);
multipart.setSubType("mixed");
//将multipart对象放到message中
msg.setContent(multipart);
//设置显示的发件时间
msg.setSentDate(new Date());
// 设置发件人
msg.setFrom(new InternetAddress("账号@zzmail.com")); Transport transport = session.getTransport(); 

// 连接邮件服务器
transport.connect("账号@zzmail.com", "密码");

// 发送邮件

transport.sendMessage(msg, new Address[] {new InternetAddress("*******@qq.com")});
//transport.sendMessage(msg, new Address[] {new InternetAddress("账号@zzmail.com")});
// 关闭连接  transport.close(); 
  }
}
posted on 2023-05-11 13:39  glucose  阅读(304)  评论(0)    收藏  举报