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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Вопросы на счёт почты  (Прочитано 7858 раз)

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

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7804
  • We were here
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #15 : 30 Апреля 2025, 13:12:03 »
каким-то образом перенаправляться на почтовый сервер
Конкретно в cлучае LAMP (Linux, Apache, MySQL, PHP)- это делает PHP. И если вам нужно просто отправлять письма, а не заниматься их хранением и обработкой - почтовый сервер вообще не нужен. 
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #16 : 30 Апреля 2025, 14:08:18 »
Хорошо.
Возьмём за пример работающий LAMP (с закрытыми почтовыми портами).
Что нужно сделать чтобы превратить его в ваш вариант (без почтового сервера), но, чтобы письма к примеру при регистрации на сайте отправлялись пользователям ?
Прописать в домене отправителе : DKIM,DMARC,SPF ?
Потом открыть порты (какие именно и как именно) ?
Всё ?
(Это с вариантом только отправлять с форм и регистрации сайта пользователям (без варианта приёма писем)

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7804
  • We were here
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #17 : 30 Апреля 2025, 14:19:17 »
письма к примеру при регистрации на сайте отправлялись пользователям ?
в php не силён, но даже curl умеет отправлять почту. Даже через бесплатные mail.ru/yandex/etc
echo "test mail" | curl "smtps://smtp.server:port" --ssl-reqd \
                   --mail-from "from@mail" --mail-rcpt "to@mail" \
                   --user "LOGIN:PASS"

Прописать в домене отправителе : DKIM,DMARC,SPF ?
Потом открыть порты (какие именно и как именно) ?
В случае внешнего почтового сервера ничего этого не надо. Этим дожен заниматься почтовый сервер, а не LAMP.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн AlexDem

  • Активист
  • *
  • Сообщений: 724
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #18 : 30 Апреля 2025, 14:25:36 »
Цитата: unbuntu
чтобы письма к примеру при регистрации на сайте отправлялись пользователям ?
Берем твой PHP скрипт регистрации пользователя, который обрабатывает их учетные данные при регистрации, прикручиваем к нему PHPMailer (нужно смотреть код), настроенный по ссылке выше на СТОРОННИЙ почтовый сервер, который УЖЕ настроен и работает (т.е. может принимать входящие соединения SMTP на 465 порт и направлять письма дальше адресату, это может быть и свой сервер, и сторонний почтовый), тестируем, PROFIT!
Ну или как написано выше, в PHP прописываем выполнение bash скрипта с curl.
« Последнее редактирование: 30 Апреля 2025, 14:59:45 от AlexDem »

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #19 : 30 Апреля 2025, 15:08:28 »
Дело в том что я тестировал PHPMailer (библиотеку) как я только его не настраивал.
Всегда выдавало 504 ошибку (почта естесвенно не приходила).

Что я делал.
1) Скачать библиотеку PHPMailer
2) Настроил примерный скрипт отправки через внешний SMTP (внешний есть на одном из доменов, так что тестировалось именно на нём).
3) Ошибка 504.

При PHPMailer - точно не нужны открытые почтовые порты на там сервере откуда он запускается ?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7804
  • We were here
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #20 : 30 Апреля 2025, 15:19:59 »
Всегда выдавало 504 ошибку
Запустите мой код выше, подставьте параметры под ваш почтовый сервер и добавьте ключ -v

Пользователь добавил сообщение 30 Апреля 2025, 15:30:31:
ри PHPMailer - точно не нужны открытые почтовые порты на там сервере откуда он запускается ?
Нет. Отправка идет через непривелегированные порты > 1024. Если, конечно не удумали исходящий траффик блокировать.
« Последнее редактирование: 30 Апреля 2025, 15:30:31 от ALiEN »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн AlexDem

  • Активист
  • *
  • Сообщений: 724
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #21 : 30 Апреля 2025, 15:30:33 »
При PHPMailer - точно не нужны открытые почтовые порты на там сервере откуда он запускается ?
Ну, какой то порт нужен, так как он работает как почтовый клиент, ему надо тот исходящий порт, который использует SMTP сервер как входящий. Если на SMTP сервере используется SSL авторизация, то это обычно 465 порт. 25 по моему не используется, но я сейчас подумал, что я могу и ошибаться.
Но в любом случае если эти порты закрыты хостинг-провайдером, и по хорошему их не открыть, то остается два  варианта: настроить почтовый сервер не прием входящих на другом порту (если постовый сервер под контролем), либо написать скрипт, который будет принимать входящие как то иначе (например через 443 порт по https), и отправлять их средствами PHP на почтовом сервере.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7804
  • We were here
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #22 : 30 Апреля 2025, 15:35:47 »
тот исходящий порт, который использует SMTP сервер как входящий.
Ну нет. Исходящий - абсолютно любой. И всегда разный.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #23 : 30 Апреля 2025, 15:54:55 »
Чувствую придётся потратить много времени на то чтобы разобраться от А до Я начиная почему не работает PHPMailer заканчивая настройкой портов на самом сервере.  :idiot2: Чтобы уже наверняка выяснить как оно должно или может быть.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7804
  • We were here
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #24 : 30 Апреля 2025, 16:17:26 »
почему не работает PHPMailer
да забудьте вы пока про PHPMailer. Curl в терминале выдаст всю нужную информацию. Заработает curl - заработает и майлер. Логика работы у них не отличается.

Логи-то будут, или продолжим на кофейной гуще гадать?

настройкой портов на самом сервере.
Вам один порт нужен, тот что слушает почтовый сервер. Обычно 25.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #25 : 30 Апреля 2025, 18:02:06 »
Хм.

curl smtps://smtp.gmail.com:465 -v (Работает)
А вот если я делаю curl smtps://smtp.mydomain.com:465 -v
В консоле Trying.... (IP)
То есть пытается типа подключается как я понимаю к smtp домена.
Вот почему тогда выходила ошибка 504 Time Out.
Щас буду искать почему не подключается, если через приложение типа outlook все работает.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7804
  • We were here
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #26 : 30 Апреля 2025, 18:58:38 »
если smtp без ssl:
curl smtp://smtp.mydomain.com:465 -v
Цитировать
В консоле Trying.... (IP)
У вас на сервере точно 465 порт для smtp?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #27 : 30 Апреля 2025, 19:19:35 »
Вообще интересная штука для тестов, только вот не всё так гладко.

curl smtp://smtp.domain.com:587 -v

Работает, но в конце пишет

* Connection #0 to host smtp.domain.com left intact


Далее пробовал вот так:


echo "test mail" | curl "smtp://smtp.domain.com:587" --ssl-reqd -k -v  \
--mail-from "info@domain.com" --mail-rcpt "info@domain.com" \
--user "info@domain.com:PASSOWRDHERE"

Пишет вот что:


* TLSv1.2 (IN), TLS header, Supplemental data (23):
< 535 5.7.0 ksajdkasjdkla ...authentication rejected
* Closing connection 0
* TLSv1.2 (OUT), TLS header, Unknown (21):
* TLSv1.2 (OUT), TLS alert, close notify (256):
curl: (67) Login denied

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7804
  • We were here
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #28 : 30 Апреля 2025, 19:27:24 »
* Connection #0 to host smtp.domain.com left intact
Это нормально.

Пробуйте --ssl вместо  --ssl-reqd или вообще убрать эту опцию.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #29 : 30 Апреля 2025, 19:51:35 »
Пока авторизация как я понял прошла только таким способом


curl --ssl-reqd -v -k 'smtp://smtp.domain.com:587' \
--user 'info@domain.com:PASSWORDHERE'


< 235 2.7.0 ... authentication succeeded
.......
214 2.0.0 end of HELP info
* Connection #0 to host smtp.agenziawebagency.com left intact

 

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