Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Письма с сайта. Функция mail()

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Обсуждение вариантов организации почты с сайта
dcc0
Отправлено: 17 Сентября, 2014 - 18:40:38
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Речь о том, как настроить Linux/BSD для отправки писем с сайта на этом же сервере. Это может быть форма обратной связи или еще что-то. Оказывается, вариантов много: настройка postfix, exim, sendmail. Большинство в своих статьях, которые я находил, называют использование таких почтовых гигантов для подобных целей "стрельбой по воробьям из пушки".

Однако, наверное, самый быстрый - настройка ssmtp или msmtp. О первом нашел информацию, что он более не поддерживается автором.
Поэтому далее речь только о втором. Мой опыт.
Для отправки писем c сайта на почтовый адрес на стороннем сервере типа Yandex, Rambler, Gmail с помощью функции mail() есть несколько вариантов.

Наверное, один из самых быстрых.

Установить msmtp

Создать и отредактировать

Важно!
1. Не забыть установить права на на этот файл.

2. И владельца, от имени которого работает вебсервер. "Это может быть apache,
www-data или nobody " (Перевод из мануала. см. ниже)

CODE (htmlphp):
скопировать код в буфер обмена
  1. chown lighttpd:lighttpd /etc/.msmtprc



Содержание файла /etc/.msmtprc

PHP:
скопировать код в буфер обмена
  1.  
  2. from somemail@rambler.ru
  3. host smtp.rambler.ru
  4. port 25
  5. protocol smtp
  6. auth login
  7. user somemail0@rambler.ru
  8. password PASSWORD
  9. logfile /var/log/msmtp.log
  10. tls off
  11. tls_starttls off
  12. tls_certcheck off


Обратите внимание, в примере вышка указано, что tls выключен.
Вероятно, пароль будет передаваться в текстовом виде (если не умеет автоматически определять лучший способ аутентификации, что вряд ли).

Отредактировать
/etc/php/php.ini или /etc/php/apache2-php5.4/php.ini, путь к php.ini может быть другой. У меня /etc/php/cli-php5.5/php.ini
Нужна только одна строка:


Далее вот в этом руководстве: https://www[dot]digitalocean[dot]com/com[dot][dot][dot]hp-mail-function

Автор рекомендует сделать так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. sendmail_path = "/usr/bin/msmtp  -C /etc/.msmtprc --logfile /var/log/msmtp.log"


И создать файл для логов, конечно же:
CODE (htmlphp):
скопировать код в буфер обмена
  1. touch /var/log/msmtp.log
  2. chown lighttpd:lighttpd /var/log/msmtp.log
  3.  


В принципе можно писать в sendmail_path sendmail, так как это alias
То HowTo, что я привел, наиболее подробное, можно обратиться к нему за деталями.
Важно! msmtp не кладет письма в очередь, как это делают другие mta,
поэтому лучше явно указывать в скрипте, было ли письмо отправлено (но и это не является страховкой от потерянной корреспонденции).

(Отредактировано автором: 20 Сентября, 2014 - 16:53:23)



-----
Март 2021. Бросил программирование
 
 Top
esterio
Отправлено: 18 Сентября, 2014 - 18:16:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




когда-то настроил все таки sendmail. Гемор еще тот, но какой experience уххх
 
 Top
dcc0
Отправлено: 18 Сентября, 2014 - 20:13:01
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Я пока пытаюсь осилить posfix с sasl

Фух! Осили Postfix+Sasl
По сути 2 дня.

(Отредактировано автором: 19 Сентября, 2014 - 01:12:57)



-----
Март 2021. Бросил программирование
 
 Top
dcc0
Отправлено: 20 Сентября, 2014 - 15:37:04
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Решил задокументировать - перевести выдержку из официальной документации по Настройке проверки подлинности клиента Postfix SMTP/LMTP .
Переводил уже сильно сонный, ссылки на оф. документацию в PDF-документе есть, а также Дополнения Postfix PHP Mail(). Обратная связь на сайте.

https://yadi[dot]sk/i/a4Sq0UZcbZij5


-----
Март 2021. Бросил программирование
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Администрирование *nix »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB