1

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. 我的尝试

我尝试切换到msmtphttps://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. 需要帮助

我不知道下一步该尝试什么。有没有人处理过同样的问题或有想法?

4

0 回答 0