Базовая почтовая функция (PHP), дополнительный параметр "-f", вопрос - PullRequest
5 голосов
/ 17 ноября 2010

Является ли -f дополнительный параметр, правильно установленный в этой функции почты.

@mail("example@exmaple.com.uy",$title,$body,$headers,"-f");

Я получаю X Warning с некоторых серверов.

Извините за основной вопрос, но некоторые части документации запутали меня (особенно некоторые комментарии пользователей).

Заранее спасибо!

Ответы [ 5 ]

4 голосов
/ 17 ноября 2010

Из руководства:

Параметр Additional_parameters может использоваться для передачи дополнительных флагов в качестве параметров командной строки программе, настроенной для использования при отправке почты, как определено параметром конфигурации sendmail_path.Например, это можно использовать для установки адреса отправителя конверта при использовании sendmail с параметром -f sendmail.

Пользователь, который запускает веб-сервер, должен быть добавлен в качестве доверенного пользователя в конфигурацию sendmail, чтобы предотвратитьЗаголовок «X-Warning» добавляется в сообщение, когда отправитель конверта (-f) установлен с использованием этого метода.Для пользователей sendmail этот файл /etc/mail/trusted-users.

source: http://www.astahost.com/info.php/Sending-Mail-Php39s-Mail-Function_t2728.html

Параметр Additional_parameters можно использовать для передачи дополнительного параметрапрограмме, настроенной для использования при отправке почты с использованием параметра конфигурации sendmail_path.Например, это можно использовать для установки адреса отправителя конверта при использовании sendmail с параметром -f sendmail.Возможно, вам потребуется добавить пользователя, который работает на вашем веб-сервере, в конфигурацию sendmail, чтобы предотвратить добавление заголовка «X-Warning» в сообщение при установке отправителя конверта с помощью этого метода.Пример 3. Отправка почты с дополнительными заголовками и установка дополнительного параметра командной строки.

т.е.:

<?php
mail("nobody@example.com", "the subject", $message,
"From: webmaster@{$_SERVER['SERVER_NAME']}", "-fwebmaster@{$_SERVER['SERVER_NAME']}");
?>

После -f вам нужно установить адрес исходящей электронной почты, чтобы предотвратитьпредупреждение (в данном случае это веб-мастер @-домен-

2 голосов
/ 17 ноября 2010

Если ваша машина работает на сервере Linux. Ваша установка apache, скорее всего, выполняется под пользователем www-data.

Вы можете легко понять это, перейдя в / etc / apache2 и набрав

cat envvars | grep APACHE_RUN_USER

все, что следует после '=' - это то, что пользователь apache запускает.

Вам необходимо добавить этого пользователя в файл доверенных пользователей. Этот файл находится в / etc / mail /rust-users

только

nano /etc/mail/trusted-users

и напишите «www-data».

спаси, и тебе надо идти.

1 голос
/ 17 ноября 2010

-f должен сопровождаться адресом, который вы хотите указать в качестве адреса конверта на вашей почте.

@mail("example@exmaple.com.uy",$title,$body,$headers,"-fexample@exmaple.com.uy");
0 голосов
/ 17 ноября 2010

Вам необходимо указать адрес электронной почты после флага -f. Как это: "-fexample@example.com". Вам также может понадобиться добавить пользователя, на котором работает ваш веб-сервер, в конфигурацию sendmail.

0 голосов
/ 17 ноября 2010

Вы пытались отправить его без флага -f?

Пользователь, который запускает веб-сервер следует добавить в качестве доверенного пользователя конфигурация sendmail, чтобы предотвратить добавлен заголовок «X-Warning» на сообщение, когда конверт Отправитель (-f) устанавливается с помощью этого метода. Для пользователей sendmail этот файл /etc/mail/trusted-users.

...