You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器Maildev服务1025端口无法接收邮件求助

Docker部署MailDev无法接收邮件排查求助

本地开发环境中使用MailDev服务,通过Docker部署了apache-php、mariadb、maildev三个核心服务。前两个服务运行正常,MailDev的UI界面(localhost:1080)可以正常访问,但无法通过1025端口发送邮件,开发框架为CodeIgniter 3。

以下是我的配置信息:

docker-compose.yml

version: '3'
services:
  apache-php:
    container_name: app
    build: 
      context: .
      dockerfile: builds/manager/Dockerfile
    ports:
      - "8080:80"
    volumes:
      - ./app/:/var/www/html/public/app
      - ./apache/log/:/var/log/apache2/
      - ./apache/conf/apache.conf:/etc/apache2/sites-available/000-default.conf
      - ./apache/php/php.ini:/usr/local/etc/php/conf.d/php.ini
    depends_on:
      - mariadb
      - maildev
    networks:
      - backend

maildev:
  image: maildev/maildev
  container_name: maildev
  command: bin/maildev --hide-extensions STARTTLS
  restart: always
  ports:
    - 1080:1080
    - 1025:1025
  networks:
    - backend

apache-php的Dockerfile

FROM php:7.4-apache

ENV TZ=Europe/Paris

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
    && apt install -y \
        apt-utils \
        git \
        mailutils \
        sendmail \
    \
    && echo "sendmail_path=/usr/sbin/sendmail -S maildev:1025 -t -i" >> /usr/local/etc/php/conf.d/sendmail.ini \
    && sed -i '/#!\/bin\/sh/aservice sendmail restart' /usr/local/bin/docker-php-entrypoint \
    && sed -i '/#!\/bin\/sh/aecho "$(hostname -i)\t$(hostname) $(hostname).localhost" >> /etc/hosts' /usr/local/bin/docker-php-entrypoint \
    && rm -rf /var/lib/apt/lists/* \
    \
    &&  a2enmod rewrite \
    \
    &&  service apache2 restart 
    
WORKDIR /var/www/html/

php.ini配置

SMTP=maildev
smtp_port=1025
sendmail_path=/usr/sbin/sendmail -S maildev:1025 -t -i

CodeIgniter的email.php配置

$config['protocol']         = 'smtp';
$config['smtp_host']        = 'maildev';
$config['smtp_port']        = 1025;

$config['charset']          = 'utf-8';
$config['mailtype']         = 'html';
$config['crlf']             = '\r\n';
$config['newline']          = '\r\n';
$config['wordwrap']         = TRUE;
$config['send_multipart']   = FALSE; 

邮件发送测试代码

ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
$from = "test@hostinger-tutorials.fr";
$to = "test@hostinger.fr";
$subject = "Essai de PHP Mail";
$message = "PHP Mail fonctionne parfaitement";
$headers = "De :" . $from;
mail($to,$subject,$message, $headers);
echo "Email sent";

执行测试代码后无任何报错,但始终无法在MailDev中收到邮件,请求协助排查问题。


内容的提问来源于stack exchange,提问作者WHelp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 11:13:20