Mailhog не может отправлять сообщения из PHP-скрипта, локального хоста, докера, UbuntuPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Mailhog не может отправлять сообщения из PHP-скрипта, локального хоста, докера, Ubuntu

Сообщение Anonymous »

Мой PHP-скрипт не может отправлять сообщения клиенту Mailhog. Я использую фреймворк Slim PHP. Вот что я пробовал: -
Контейнер запущен и работает с установленным путем sendmail:
Изображение

Код: Выделить всё

docker exec -it php cat /usr/local/etc/php/conf.d/local.ini
error_reporting=E_ALL
sendmail_path="mhsendmail --smtp-addr=mailhog:1025"
Sendmail установлен локально sudo apt-get install sendmail
docker-compose.yaml

Код: Выделить всё

version: '3'
services:

#PHP Service
php:
build:
context: .
dockerfile: Dockerfile
container_name: php
restart: unless-stopped
tty: true
environment:
SERVICE_NAME: php
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./:/var/www
- ./docker/php/local.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network

#Mailhog
mailhog:
container_name: mailhog
image: mailhog/mailhog
ports:
- "1025:1025"
- "8025:8025"
networks:
- app-network
Dockerfile

Код: Выделить всё

FROM php:8.1-fpm

# Copy composer.lock and composer.json
# COPY composer.lock composer.json /var/www/

# Set working directory
WORKDIR /var/www

# Install dependencies
RUN apt-get update && apt-get install -y \
build-essential \
libpng-dev \
libjpeg62-turbo-dev \
libfreetype6-dev \
locales \
libzip-dev \
zip \
jpegoptim optipng pngquant gifsicle \
vim \
unzip \
git \
curl

# Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

# Install extensions
RUN docker-php-ext-install mysqli pdo pdo_mysql && docker-php-ext-enable pdo_mysql
RUN docker-php-ext-configure gd --with-freetype --with-jpeg
RUN docker-php-ext-install gd

# Install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

RUN groupadd -g 1000 www
RUN useradd -u 1000 -ms /bin/bash -g www www

# Copy existing application directory contents
COPY . /var/www

# Copy existing application directory permissions
COPY --chown=www:www . /var/www

# Change current user to www
USER www

# Expose port 9000 and start php-fpm server
EXPOSE 9000
CMD ["php-fpm"]

В моем PHP-скрипте:

Код: Выделить всё

$to = 'recipients@email-address.com';
$subject = 'Hello from Ubuntu!';
$message = 'This is a Mailhog test';
$headers = "From: your@email-address.com\r\n";

if (mail($to, $subject, $message, $headers)) {
echo "SUCCESS";
} else {
echo "ERROR";
}
При попадании в мою конечную точку скрипт возвращает ОШИБКУ? Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/776 ... ker-ubuntu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»