PHP: функция mail() перечитал, попробовал. там как раз то что надо php-fpm. но из браузера так и не работает функция mail().
может кто протестирует тоже. это php 8.0.7-1 или msmtp не работает на entware. спасибо.
~ # cat /opt/share/nginx/html/mail.php
<?php
if (mail('кому@отправить.ru', 'my subject', 'my message')){
echo 'отправленное';
}else{
echo 'неотправленное';
};
?>
~ #
~ # php-cli /opt/share/nginx/html/mail.php
отправленное
~ #
открываю в браузере неотправленное.
в обоих случаях в логе [04-Aug-2021 22:31:30 Europe/Moscow] mail() on [/opt/share/nginx/html/mail.php:2]: To: кому@отправить.ru -- Headers: -- Subject: my subject
на что обратить внимание?
в поле вижу MAIL FROM:<root@доменное_имя> при получении undisclosed recipients вместо от root@доменное_имя. подозреваю надо включить undisclosed_recipients = off
пример системного файла msmtprc
# A system wide configuration file is optional.
# If it exists, it usually defines a default account.
# This allows msmtp to be used like /opt/sbin/sendmail.
account default
# The SMTP smarthost
host smtp.gmail.com
# Use TLS on port 587
port 587
tls on
tls_starttls on
tls_trust_file /opt/etc/ssl/certs/ca-certificates.crt
# Construct envelope-from addresses of the form "user@oursite.example"
auth login
user вася_пупкин@gmail.com
passwordeval gpg --no-tty -q -d ~/.msmtp-password.gpg
from %U@ваш.домен.ру
# Syslog logging with facility LOG_MAIL instead of the default LOG_USER
syslog LOG_MAIL
aliases /opt/etc/aliases
где переменная from %U@ваш.домен.ру. и есть Aliases где переменные типа так.
# Aliases file
# Send root and nobody
root: root@ваш.домен.ru
nobody: nobody@ваш.домен.ru
# Send cron
cron: cron@ваш.домен.ru
# Send everything else to admin
default: вася_пупкин@yandex.ru
то есть поле from %U@ваш.домен.ру меняется от кого пришло письмо root@ваш.домен.ru или cron@ваш.домен.ru
возможно я много хочу от программы.
если вдруг у mariadb файлы конфигурации окажутся 666 вместо 644 то при запуске она ругнётся по публичному
~ # mysql_install_db --force
Warning: World-writable config file '/opt/etc/mysql/conf.d/50-server.cnf' is ignored Installing MariaDB/MySQL system tables in '/opt/data' ...
Warning: World-writable config file '/opt/etc/mysql/conf.d/50-server.cnf' is ignored
и создаст базу по пути ldata="/opt/data" про писаному в mysql_install_db. давно мучает вопрос это защита от дурака или ошибка?
На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.