URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 71496
[ Назад ]

Исходное сообщение
"Apache/PHP - Отправка почты через функцию mail()"

Отправлено Алексей , 16-Янв-07 18:39 
Здравствуйте.

При использовании функции mail() письмо отправляется от пользователя www@my.local.server
На многих серверах стоит проверка пользователя, от которого отправляется письмо. Естественно, у меня такого пользователя нет.

Есть возможность поменять адрес (поставить его по умолчанию), от которого отправляется почта через эту функцию?

P.S. В php.ini указал

[mail function]
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail -t -i -finfo@mycompany.ru

сендмейл перезапустил, однако никаких изменений. Может, я чего упустил, подскажите?


Содержание

Сообщения в этом обсуждении
"Apache/PHP - Отправка почты через функцию mail()"
Отправлено Nimdar , 16-Янв-07 19:10 
Поменял php.ini, а перезапустил сендмыл :)))
Во-первых, нужно перезапускать апач, а во-вторых, лучше в самом php-коде явно пропиши нечто вроде:
mail (bla,bla,bla,"-finfo@mycompany.ru")

"Apache/PHP - Отправка почты через функцию mail()"
Отправлено Алексей , 16-Янв-07 19:54 
>Поменял php.ini, а перезапустил сендмыл :)))

  Да, апач перезапустил )

>Во-первых, нужно перезапускать апач, а во-вторых, лучше в самом php-коде явно пропиши
>нечто вроде:
>mail (bla,bla,bla,"-finfo@mycompany.ru")


Запустил:

<?php
mail('blabla@mail.ru', 'test subj', 'test msg', null, '-finfo@mycompany.ru');
?>

В логе exim'a такое:

2007-01-16 19:47:36 1H6rTE-0007Fh-3o <= www@my.local.server U=www P=local S=379
2007-01-16 19:47:36 1H6rTE-0007Fh-3o ** blabla@mail.ru R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<www@my.local.server> SIZE=1414: host mxs.mail.ru [194.67.23.20]: 550 Unrouteable address


Как быть?


"Apache/PHP - Отправка почты через функцию mail()"
Отправлено Nimdar , 16-Янв-07 20:18 
Добавь пользователя www в trusted-users в sendmail.

"Apache/PHP - Отправка почты через функцию mail()"
Отправлено Алексей , 16-Янв-07 20:21 
>Добавь пользователя www в trusted-users в sendmail.

А что эта опция делает в сендмейле? У меня exim - постараюсь найти аналогичную.


"Apache/PHP - Отправка почты через функцию mail()"
Отправлено Nimdar , 17-Янв-07 10:30 
>>Добавь пользователя www в trusted-users в sendmail.
>
>А что эта опция делает в сендмейле? У меня exim - постараюсь
>найти аналогичную.

Разрешает пользователю подменять адрес From. Почитайте документацию.


"Apache/PHP - Отправка почты через функцию mail()"
Отправлено Алексей , 18-Янв-07 13:01 
>>>Добавь пользователя www в trusted-users в sendmail.
>>
>>А что эта опция делает в сендмейле? У меня exim - постараюсь
>>найти аналогичную.
>
>Разрешает пользователю подменять адрес From. Почитайте документацию.

Спасибо большое. Именно в том, что пользователь www не был указан в trusted_users и не позволяло ему подменять строку From: .


"Apache/PHP - Отправка почты через функцию mail()"
Отправлено sy , 17-Янв-07 09:43 
>>Поменял php.ini, а перезапустил сендмыл :)))
>
>  Да, апач перезапустил )
>
>>Во-первых, нужно перезапускать апач, а во-вторых, лучше в самом php-коде явно пропиши
>>нечто вроде:
>>mail (bla,bla,bla,"-finfo@mycompany.ru")
>
>
>Запустил:
>
><?php
>mail('blabla@mail.ru', 'test subj', 'test msg', null, '-finfo@mycompany.ru');
>?>
>
>В логе exim'a такое:
>
>2007-01-16 19:47:36 1H6rTE-0007Fh-3o <= www@my.local.server U=www P=local S=379
>2007-01-16 19:47:36 1H6rTE-0007Fh-3o ** blabla@mail.ru R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<www@my.local.server> SIZE=1414: host mxs.mail.ru [194.67.23.20]: 550 Unrouteable address
>
>
>Как быть?


>2007-01-16 19:47:36 1H6rTE-0007Fh-3o <= www@my.local.server U=www P=local S=379
>2007-01-16 19:47:36 1H6rTE-0007Fh-3o ** blabla@mail.ru R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<www@my.local.server> SIZE=1414: host mxs.mail.ru [194.67.23.20]: 550 Unrouteable address
>

Помоему Вам mail'овский почтовик говорит что-то вроде: Не хочу принимать письмо от www@my.local.server так как мне не нравиться Ваш домен (my.local.server). Или еще проще: нет такого пользователя нет.

Лично я делал так

mail('blabla@mail.ru', 'test subj', 'test msg', "From: User <user@my.local.server> \r\n");