Назад | Перейти на главную страницу

Как заставить почтовую функцию php работать на Debian «squeeze»?

Возможный дубликат:
Получение функции PHP mail () для работы в Debian Lenny

Я установил Apache и PHP5 на свой сервер debian.

Сначала я попробовал использовать sendmail. Вот пошаговая процедура, которую я пробовал:

Step 1: apt-get install sendmail
Step 2: /etc/init.d/apache2 restart

Но это не сработало.

Затем я попытался использовать внешний SMTP. Мой домен зарегистрирован на Большой Камень.Я зарегистрировал там электронный адрес notifications@fostergen.com и он дал мне необходимые учетные данные.

На сервере я установил sSMTP

> apt-get install ssmtp
> Configured "/etc/ssmtp/ssmtp.conf" file.

В конфигурационном файле я добавил

root=notifications@fostergen.com
mailhub=smtp.fostergen.com:587 (Here I have doubt. I am not sure what to use here. I tried smtp.fostergen.com:587, smtp.fostergen.com:25,mx1.mailhostbox.com :587,mx1.mailhostbox.com:25.

Я все еще не уверен, что использовать здесь mailhostbox.com. Я использовал mx1.mailhostbox.com, поскольку это была запись mx для моего домена на bigrock. Вот скриншот! [Скриншот инструмента управления электронной почтой bigrock])

hostname=vs3204.ams2.alvotec.de (Я ввел команду hostname -f на моем сервере и получил как результат)

FromLineOverride=YES    
UseSTARTTLS=YES    
AuthUser=notifications@fostergen.com    
AuthPass=password provided during email registration on bigrock

> edited /etc/ssmtp/revaliases 
(added " root:notifications@fostergen.com:mx1.mailhostbox.com :587 " in the last line)
> edited php.ini file (sendmail_path = /usr/sbin/ssmtp -t)
> /etc/init.d/apache2 restart

Но это не сработало.

После этого я попробовал eSMTP. Выполненные шаги:

> apt-get install esmtp
> edited /etc/esmtprc
    hostname=smtp.fostergen.com:587
   username= notifications@fostergen.com
   password: password provide by bigrock
    mda="/usr/bin/procmail -d %T"
> linked eSMTP to the legacy Sendmail path by execting the command "ln -s /usr/bin/esmtp /usr/bin/sendmail" 
> edited php.ini file (/usr/bin/sendmail -t -i)
> /etc/init.d/apache2 restart

Но и этот прием не удался.

Я просто хочу отправить электронное письмо пользователям через почтовую функцию php. Пожалуйста, помогите. Где я ошибаюсь?

Похоже, ваш вопрос: «Как мне установить mta на свой выделенный сервер и использовать его с php5»?

Следовательно, необходимо выполнить 2 шага:

  • Первый - установить MTA. Если вы не разбираетесь в почтовых серверах, я предлагаю вам postfix вместо sendmail: это проще. По соображениям безопасности убедитесь, что он слушает только 127.0.0.1 так как вы не хотите получать / ретранслировать почту (inet_interfaces = 127.0.0.1 в /etc/postfix/main.cf). Убедитесь, что он работает, отправив электронное письмо из интерфейса командной строки. Если это не так, посмотрите журналы (/var/log/mail.*).

  • Второй шаг - настроить php для использования постфикса. Если я записываю правильно, значения debian по умолчанию работают из коробки, поэтому никаких изменений не требуется.