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
相关产品推荐
相关产品推荐

