Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Отправка почты с веб сервера apache2  (Прочитано 2425 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alexandr.krupnov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Здравствуйте. Дано:
1. Локальных почтовый сервер zimbra (smtp port 587. Почта с клиентов и web и принимается и отправляется
2. Локальный сервер с ОС Ubuntu Server 14.04. Роль - веб-сервер. Установил apache2.
Далее установил mysql+phpmyadmin, drupal 8, glpi 0.84.

Проблема - не настраивается отправление почтовых сообщений ни в drupal, ни в glpi. В drupal установил модуль smtp и скачал phpmailer. В настройках smtp для drupal включил debigging. Но куда пишуться логи не знаю.

Стал разбираться с логами. В настройках drupal включил syslog. В самой ОС syslog не нашёл, но обнаружил rsyslog. В файле rsyslog.conf добавил запись для записи лог drupal'a в отдельный файл
####################
!drupal
*.* /var/log/drupal.log
####################

и создал файл drupal.log командой
nano /var/log/drupal.log
Ctrl+O (записать)

НО затем в папке /var/log/ обнаружил следующие интересные файлы
mail.log
mail.err

В них при каждой попытке отправить почтовое уведомление с drupal или glpi появляется запись
Mar 21 17:57:01 web sSMTP[3136]: Unable to locate mail
Mar 21 17:57:01 web sSMTP[3136]: Cannot open mail:25

Как я понимаю, drupal & glpi выступают как клиенты. Следовательно на веб-сервере smtp  вообще никаким образом использоваться не должно. Но судя по ошибке, всё же идёт обращение к локальному smtp веб-сервера. Правильно ли я разобрался и как лечить?

Оффлайн jura12

  • Старожил
  • *
  • Сообщений: 1183
  • debian 9, manjaro
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #1 : 23 Март 2016, 13:19:00 »
Для отправки почты нужен smtp сервер. Иногда надо просить провайдера чтоб днс адреса отправлял.
сопротивление бессполезно

Оффлайн alexandr.krupnov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #2 : 24 Март 2016, 10:12:18 »
Для отправки почты нужен smtp сервер. Иногда надо просить провайдера чтоб днс адреса отправлял.
Так smtp сервер есть на почтовом сервере. А web сервер (на котором развёрнут drupal) и почтовый сервер в одной локальной сети (не на хостинге, в интернет не опубликованы). Я может в теории что то упускаю, но кажется, что при отправке письма drupal  становиться как бы почтовым клиентом по отношению к smtp серверу локального почтового сервера. То есть подключается к локальному почтовому серверу по указанному логину/паролю, в качестве аргумента передаёт текст сообщения и уже локальный почтовый сервер передаёт сообщение.
P.S. Сообщения должны передаваться только в масштабах локальной сети. На данный момент через клиенты почтовые всё работает.

Пользователь решил продолжить мысль 24 Март 2016, 16:07:45:
Разобрался.
1. На веб сервере не должно быть установлено никаких smtp
2. Ставим ssmtp
3. Настраиваем файл /etc/ssmtp/ssmtp.conf
Примерно так
root=username@mydomain
mailhub=smtp.mydomain:587 (или mailhub=mydomain:587)
AuthUser=username
AuthPass=Password
UseSTARTTLS=YES
4. Тестируем из консоли
ssmtp username_destination@domain.name < file_name.txt
где file_name.txt - файл txt с текстом сообщения
5. Проверяем почту username_destination@domain.name

Drupal стал отправлять письма. но письма идут от username@mydomain. В пункте 4 (по команде ssmtp username_destination@domain.name < file_name.txt) письма также идут от username@mydomain. Возможно ли сделать так, чтобы в письмах от drupal в качестве отправителя стоял не username@mydomain, а nameuser@mydomain?

Про файл revaliases читал. Но там если не ошибаюсь формат записи следующий:
root:username@mydomain:smtp.mydomain:587

где root - локальная учётная запись пользователя в системе
username@mydomain - почтовый аккаунт на сервере smtp
smtp.mydomain - адрес smtp сервера
587 - порт smtp

Верно ли, что для возможности отправки с ещё одного почтового ящика необходимо добавить например такую запись
root:drupal@mydomain:smtp.mydomain:587
« Последнее редактирование: 24 Март 2016, 16:07:45 от alexandr.krupnov »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #3 : 24 Март 2016, 17:47:15 »
ssmtp нужен только тем программам, кто сам не умеет почту отправлять.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн alexandr.krupnov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #4 : 24 Март 2016, 17:53:57 »
ssmtp нужен только тем программам, кто сам не умеет почту отправлять.
так drupal вроде и не умеет сам. По крайне мере, отправленные с drupal письма приходят как отправленные от учётки, прописанной в ssmtp.
А если всё таки необходим вариант отправки через ssmtp с разных учёток одного домена, как быть?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #5 : 24 Март 2016, 18:00:15 »
Убрать эту запись вообще.
mailhub=daemon2.darkdragon.lan
FromLineOverride=yes
hostname=
rewriteDomain=rootdir.org
root=postmaster
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн alexandr.krupnov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #6 : 24 Март 2016, 18:28:52 »
Убрать эту запись вообще.
mailhub=daemon2.darkdragon.lan
FromLineOverride=yes
hostname=
rewriteDomain=rootdir.org
root=postmaster


Убрал. В файле /etc/ssmtp/ssmtp.conf теперь нет вообще никаких настроек. И при попытке отправить письмо из модуля SMTP (drupal) происходит ошибка
"Не удается отправить почту. Обратитесь с администратору....."

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #7 : 24 Март 2016, 18:33:28 »
В файле /etc/ssmtp/ssmtp.conf теперь нет вообще никаких настроек. И при попытке отправить письмо из модуля SMTP (drupal) происходит ошибка
"Не удается отправить почту. Обратитесь с администратору....."
Предсказуемо…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн alexandr.krupnov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #8 : 24 Март 2016, 18:45:29 »
В файле /etc/ssmtp/ssmtp.conf теперь нет вообще никаких настроек. И при попытке отправить письмо из модуля SMTP (drupal) происходит ошибка
"Не удается отправить почту. Обратитесь с администратору....."
Предсказуемо…
А, Вы имели ввиду убрать запись из файла revaliasis? А файл ssmtp оставить без изменений (то есть с прописанным smtp сервером, логином и паролем)

В приведёном Вами примере
mailhub=daemon2.darkdragon.lan
FromLineOverride=yes
hostname=
rewriteDomain=rootdir.org
root=postmaster

mailhub != rewriteDomain
Тогда откуда брать значение rewriteDomain?
« Последнее редактирование: 24 Март 2016, 19:01:49 от alexandr.krupnov »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #9 : 24 Март 2016, 19:14:01 »
Почитайте уже описание параметров… Всего тремя строчками ниже.

Цитировать
# (4) rewriteDomain
# Please enter the mail name of your system.
# sSMTP uses this value to add a domain to unqualified e-mail addresses
# (addresses without an @-sign).
#     You probably want to use the domain from your own e-mail address.
# You probably want to set up your MUA to handle unqualified addresses
# itself, in which case sSMTP will never have to use this.  (Users of
# cron note that cron always uses unqualified addresses.)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн alexandr.krupnov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #10 : 24 Март 2016, 20:18:33 »
Почитайте уже описание параметров… Всего тремя строчками ниже.

Цитировать
# (4) rewriteDomain
# Please enter the mail name of your system.
# sSMTP uses this value to add a domain to unqualified e-mail addresses
# (addresses without an @-sign).
#     You probably want to use the domain from your own e-mail address.
# You probably want to set up your MUA to handle unqualified addresses
# itself, in which case sSMTP will never have to use this.  (Users of
# cron note that cron always uses unqualified addresses.)


Разумеется прочитал
Если ставлю параметр
FromLineOverride = Yes
письма перестают отправляться.
Если
FromLineOverride = No
письма уходят
Но в поле "From" указывается username@mydomain (прописанный в файле ssmtp)

Если мои вопросы связаны с какими либо элементарными знаниями (вернее их отсутствием), подскажите пожалуйста, куда копать
# FromLineOverride = No
# Установите это, чтобы никогда не переписывать "From:" (если не указано) и
# использовать этот адрес в "from line" оболочки.
#FromLineOverride=YES

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #11 : 24 Март 2016, 21:22:05 »
FromLineOverride = Yes
создаёт строку From:, если её нет. Если она есть, оставляет её как есть.
Если ваше приложение не выставляет отправителя нормально, настройте PHP.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн alexandr.krupnov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #12 : 24 Март 2016, 21:57:16 »
FromLineOverride = Yes
создаёт строку From:, если её нет. Если она есть, оставляет её как есть.
Если ваше приложение не выставляет отправителя нормально, настройте PHP.
Огромное спасибо. Горизонт проступил ). Приложение -> PHP -> ssmtp
Буду изучать.

Оффлайн virusoft

  • Активист
  • *
  • Сообщений: 317
    • Просмотр профиля
    • Virusoft
Re: Отправка почты с веб сервера apache2
« Ответ #13 : 24 Март 2016, 22:05:13 »
Разумеется прочитал
Если ставлю параметр
FromLineOverride = Yes
письма перестают отправляться.
Если
FromLineOverride = No
письма уходят
Но в поле "From" указывается username@mydomain (прописанный в файле ssmtp)
Встречался я с таким моментом в работе этого ssmtp. Решилось обращением к провайдеру почты, чтобы он в своих настройках разрешил авторизованным пользователям в поле from использовать любое имя, а не только имя регистрационной записи в поле from вставлять на своей стороне.
ssmtp это программа отправки почты через другой smtp-сервер. и вот на нем это дело и надо смотреть. Но это уже к провайдеру. И PHP тут совсем не при чем был.

Пользователь решил продолжить мысль 24 Март 2016, 22:10:10:
FromLineOverride = Yes
создаёт строку From:, если её нет. Если она есть, оставляет её как есть.
Если ваше приложение не выставляет отправителя нормально, настройте PHP.
И провайдер почты вставит в него либо имя авторизации, либо загнет отправку по маршруту.
« Последнее редактирование: 24 Март 2016, 22:10:10 от virusoft »
Если работает - не трогай. Linux - гибкая система, но один раз прогнувшись может обратным ходом распрямиться и ударить по самому (…) месту. Думай о будущем и все будет хорошо.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: Отправка почты с веб сервера apache2
« Ответ #14 : 24 Март 2016, 22:27:34 »
virusoft, вы топик вообще с начала пробовали читать?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.064 секунд. Запросов: 25.