Docker PHP Apache Mail

881 Views Asked by At

1. The problem

I have the problem that I cannot send mails from my docker php apache container anymore. Maybe the reason for that lies in the fact that sSMTP is currently unmaintained: https://wiki.debian.org/sSMTP

The Dockerfile which worked before:

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

Now this throws the error

E: Unable to locate package ssmtp

E: Unable to locate package mailutils

2. My attempts

I tried switching to msmtp (https://wiki.debian.org/msmtp) instead but this did not work either with the following 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

This throws the same error like before:

E: Unable to locate package msmtp

3. Help needed

I don't know what to try next. Did anyone handle the same issue or has an idea?

0

There are 0 best solutions below