1.问题
我的问题是我不能再从我的 docker php apache 容器发送邮件了。可能原因在于 sSMTP 目前未维护:https ://wiki.debian.org/sSMTP
Dockerfile
以前工作的那个:
FROM php:apache
RUN docker-php-ext-install pdo pdo_mysql \
&& apt-get update \
&& apt-get install -q -y ssmtp mailutils \
&& echo "FromLineOverride=YES" >> /etc/ssmtp/ssmtp.conf \
&& echo "root=" >> /etc/ssmtp/ssmtp.conf \
&& echo "mailhub=XXXX" >> /etc/ssmtp/ssmtp.conf \
&& echo "AuthUser=XXXX" >> /etc/ssmtp/ssmtp.conf \
&& echo "AuthPass=XXXX" >> /etc/ssmtp/ssmtp.conf \
&& echo "UseTLS=YES" >> /etc/ssmtp/ssmtp.conf \
&& echo "UseSTARTTLS=YES" >> /etc/ssmtp/ssmtp.conf \
&& echo "sendmail_path=sendmail -i -t" >> /usr/local/etc/php/conf.d/php-sendmail.ini
现在这会引发错误
E: 找不到包 ssmtp
E: 找不到包 mailutils
2. 我的尝试
我尝试切换到msmtp
(https://wiki.debian.org/msmtp),但这不适用于以下内容Dockerfile
:
FROM php:apache
RUN docker-php-ext-install pdo pdo_mysql && \
apt-get update && \
apt-get install -q -y msmtp && \
echo "account default" >> ~/.msmtprc && \
echo "host XXXX" >> ~/.msmtprc && \
echo "port 587" >> ~/.msmtprc && \
echo "tls on" >> ~/.msmtprc && \
echo "tls_starttls on" >> ~/.msmtprc && \
echo "tls_trust_file /etc/ssl/certs/ca-certificates.crt" >> ~/.msmtprc && \
echo "tls_certcheck on" >> ~/.msmtprc && \
echo "auth on" >> ~/.msmtprc && \
echo "user XXXX" >> ~/.msmtprc && \
echo "password 'XXXX'" >> ~/.msmtprc && \
echo "from 'XXXX'" >> ~/.msmtprc && \
echo "logfile /var/log/msmtp.log" >> ~/.msmtprc && \
echo "sendmail_path = /usr/bin/msmtp -t" >> /usr/local/etc/php/conf.d/php-sendmail.ini
这会引发与以前相同的错误:
E: 无法定位包 msmtp
3. 需要帮助
我不知道下一步该尝试什么。有没有人处理过同样的问题或有想法?