rat*_*atm 3 php sendmail docker php-5.6 docker-compose
我在ubuntu 16.04上.我有一个(测试)docker(docker-compose)容器运行php 5.6和apache 2.4.
使用生产平台(没有泊坞窗),邮件将与sendmail一起发送.
如何在docker容器上发送测试邮件(使用sendmail)?
在此先感谢您的回复.
有用.
在Dockerfile中:
# sendmail config
############################################
RUN apt-get install -q -y ssmtp mailutils
# root is the person who gets all mail for userids < 1000
RUN echo "root=yourAdmin@email.com" >> /etc/ssmtp/ssmtp.conf
# Here is the gmail configuration (or change it to your private smtp server)
RUN echo "mailhub=smtp.gmail.com:587" >> /etc/ssmtp/ssmtp.conf
RUN echo "AuthUser=your@gmail.com" >> /etc/ssmtp/ssmtp.conf
RUN echo "AuthPass=yourGmailPass" >> /etc/ssmtp/ssmtp.conf
RUN echo "UseTLS=YES" >> /etc/ssmtp/ssmtp.conf
RUN echo "UseSTARTTLS=YES" >> /etc/ssmtp/ssmtp.conf
# Set up php sendmail config
RUN echo "sendmail_path=sendmail -i -t" >> /usr/local/etc/php/conf.d/php-sendmail.ini
Run Code Online (Sandbox Code Playgroud)
用于测试php sendmail容器:
echo "Un message de test" | mail -s "sujet de test" mailSendingAdresse@email.com
Run Code Online (Sandbox Code Playgroud)
我在这两份文件的帮助下取得了成功:
如果它说:
“软件包‘ssmtp’没有安装候选”
您可以使用msmtp代替。
将以下内容添加到您的 dockerfile 中
# sendmail config
#################
ARG SMTP_PASSWORD=not_provided
# install
RUN apt-get install -q -y msmtp mailutils
# config
COPY msmtprc /etc/msmtprc
RUN chmod 600 /etc/msmtprc
RUN chown www-data:www-data /etc/msmtprc
ARG SMTP_PASSWORD=not_provided
RUN sed -i "s|YourAwesomeStr0ngP4zzw0rd|$SMTP_PASSWORD|g" /etc/msmtprc
# Set up php sendmail config
RUN echo "sendmail_path=/usr/bin/msmtp -t" >> /etc/php/7.3/apache2/conf.d/php-sendmail.ini
Run Code Online (Sandbox Code Playgroud)
将文件添加msmtprc到您的 docker 构建上下文:
account default
host mail.yoursmtpserver.com
port 587
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
tls_certcheck on
auth on
user my@mail.com
password "YourAwesomeStr0ngP4zzw0rd"
from "my@mail.com"
logfile /var/log/msmtp.log
Run Code Online (Sandbox Code Playgroud)
注意:进行了一些更改,以便使其适用于我的特定设置(分支FROM eboraas/apache-php)。这尤其适用于以下几行:
您可能需要调整路径、密码等以满足您的需求。如果您想立即使用此解决方案,请记住SMTP_PASSWORD从环境中设置构建参数(例如)。SMTP_PASSWORD=<secret> docker-compose build
有用的资源:
| 归档时间: |
|
| 查看次数: |
6755 次 |
| 最近记录: |