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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

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

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

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7804
  • We were here
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #30 : 30 Апреля 2025, 20:10:04 »
Да, всё ок. Теперь переносите настройки в майлер.
🖥 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: Вопросы на счёт почты
« Ответ #31 : 30 Апреля 2025, 20:43:09 »
Сделал по другому, я указал домен хостинг-провайдера вместо домена сайта как я понял именно через него уходит ВЕБ ПОЧТА.

И не через 587 порт, а чере 465.

Взамен оставляю рабочий PHPMailTester.php

Может кому пригодиться. (Потому что многие примеры из интернета содержа синтаксические ошибки из-за которых не работает код) (этот рабочий)



<?php

require "PHPMailer/src/Exception.php";
require 
"PHPMailer/src/PHPMailer.php";
require 
"PHPMailer/src/SMTP.php";


use 
PHPMailer\PHPMailer\PHPMailer;
use 
PHPMailer\PHPMailer\SMTP;
use 
PHPMailer\PHPMailer\Exception;


//Create an instance; passing `true` enables exceptions
$mail = new PHPMailer(true);

try {
    
//Server settings
    
$mail->SMTPDebug SMTP::DEBUG_SERVER;                      //Enable verbose debug output
    
$mail->SMTPAutoTLS false;
    
$mail->SMTPAuth   true;
    
$mail->SMTPSecure PHPMailer::ENCRYPTION_SMTPS;            //Enable implicit TLS encryption
    
$mail->isSMTP();                                            //Send using SMTP
    
$mail->Host       "smtps.provider.com";                     //Set the SMTP server to send through                        
    //Enable SMTP authentication
    
$mail->Username   "info@yourdomain.com";                     //SMTP username
    
$mail->Password   "PASSWORD HERE";                               //SMTP password
    
$mail->Port       465;                                    //TCP port to connect to; use 587 if you have set `SMTPSecure = 
    
PHPMailer::ENCRYPTION_STARTTLS`

    //Recipients
    
$mail->setFrom("info@yourdomain.com", "Mailer");
    
$mail->addAddress("friend1@gmail.com", "Joe User");     //Add a recipient
    
$mail->addAddress("friend2@domain.com");               //Name is optional
    
$mail->addReplyTo("noreply@domain.com", "Information");
    
$mail->addCC("info@yourdomain.com"); //Optional
    
$mail->addBCC("info@yourdomain.com"); //Optional

  

    //Content
    
$mail->isHTML(true);                                  //Set email format to HTML
    
$mail->Subject = "Here is the subject";
    
$mail->Body    = "This is the HTML message body <b>in bold!</b>";
    
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

    
$mail->send();
    echo "Message has been sent";
} catch (Exception 
$e) {
    echo "Message could not be sent. Mailer Error: 
{$mail->ErrorInfo}";
}

?>




Пользователь добавил сообщение 30 Апреля 2025, 20:46:30:
С одним разобрались, за что спасибо, теперь кроме телнета можно курлом тестить работу почты.

Теперь попробую в Wordpress заставить отправлять почту таким способом, потом уже перейду к затее с сервером.

Всё таки хочется настроить его так чтобы письма не попадали в спам и всё работало как нужно.





Пользователь добавил сообщение 01 Мая 2025, 09:24:01:
Смотрю как это прикрутить к wordpress.

В Wordpress пишут, что там класс PHPMailer уже есть.

Да, есть, но, не работает почему-то, тестировал с настройками PHPMailer который из библиотеки, не работает.

Такое впечетление что он его "не подключает или не цепляет".

К примеру


function my_phpmailer_example( $phpmailer ) {
    $phpmailer->isSMTP();     
    $phpmailer->Host = 'smtp.example.com';
    $phpmailer->SMTPAuth = true; // Ask it to use authenticate using the Username and Password properties
    $phpmailer->Port = 25;
    $phpmailer->Username = 'yourusername';
    $phpmailer->Password = 'yourpassword';

    // Additional settings…
    //$phpmailer->SMTPSecure = 'tls'; // Choose 'ssl' for SMTPS on port 465, or 'tls' for SMTP+STARTTLS on port 25 or 587
    //$phpmailer->From = "you@yourdomail.com";
    //$phpmailer->FromName = "Your Name";
}
add_action( 'phpmailer_init', 'my_phpmailer_example' );

По сути, если вставить это в function.php и потом обновить страницу сайта, то письмо должно как бы прийти на почту.

Если не разберусь, тогда нужно будет просто интегрировать реальную библиотеку PHPMailer и уже работать с ней по всему WP.

Раз нативные средства не работают..

Пользователь добавил сообщение 01 Мая 2025, 19:42:42:
У меня вопрос, а ничего что оно всё в открытом виде ?  :idiot2:
« Последнее редактирование: 01 Мая 2025, 19:42:42 от unbuntu »

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #32 : 03 Мая 2025, 09:02:24 »
Есть у кого-то правила для IPTABLES

Какие порты должны быть открыты и как прописаны правила ?


Оффлайн AlexDem

  • Активист
  • *
  • Сообщений: 724
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #33 : 03 Мая 2025, 09:05:11 »
У меня вопрос, а ничего что оно всё в открытом виде ? 
В каком смысле?

Пользователь добавил сообщение 03 Мая 2025, 09:06:38:
Какие порты должны быть открыты и как прописаны правила ?
Для исходящих соединений обычно все порты открыты, нет особого смысла их закрывать, если только не какой то особый осознанный случай.

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #34 : 03 Мая 2025, 11:17:52 »
В каком смысле?

В том смысле что логин и пароль в открытом ввиде в скрипте отправки почты.


Для исходящих соединений обычно все порты открыты, нет особого смысла их закрывать, если только не какой то особый осознанный случай.

То есть чтобы почта отправлялась с сервера никакие порты открывать не нужно ?
Потом ещё один вопрос, к примеру nginx+apache+postfix.

Вопрос в том, при нормальной установке postfix, далее к примеру я создам скрипт php c cодержимым и положу его в папку www.


<?php

$to      
= &#39;nobody@example.com&#39;;
$subject = &#39;the subject&#39;;
$message = &#39;hello&#39;;
$headers = &#39;From: webmaster@example.com&#39; . "\r\n" .
    
&#39;Reply-To: webmaster@example.com&#39; . "\r\n" .
    
&#39;X-Mailer: PHP/&#39; . phpversion();

mail($to$subject$message$headers);

?>

При запуске скрипта, что будет происходить ? Почта будет уходить через postfix ? Или нужно ещё что-то устанавливать ?


Оффлайн AlexDem

  • Активист
  • *
  • Сообщений: 724
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #35 : 03 Мая 2025, 13:08:53 »
В том смысле что логин и пароль в открытом ввиде в скрипте отправки почты.
Ну и что? Что значит в "открытом"? PHP это backend, он по определению выполняется не юзером, а сервером, юзер передает на сервер входные параметры, сервер обрабатывает результат, и выдает его. При правильной настройке сервера, юзер никогда не увидит код и пароли в нем. Если хочется еще более обезопасить, перенеси логин и пароль в отдельный скрипт через include, сделай сессионный ключ, а все креденшл в БД засунь, ну или что-то вроде этого.

Пользователь добавил сообщение 03 Мая 2025, 13:11:43:
То есть чтобы почта отправлялась с сервера никакие порты открывать не нужно ?
Порты закрывают обычно на "входящие" соединения, чтобы ограничивать внешние запрос к серверу только для определенных открытых сокетов. Если же сам хост куда то хочет удаленно постучаться, то какой смысл его в этом ограничивать, ты же его сам настраивал, знаешь куда и зачем он ходит.

Пользователь добавил сообщение 03 Мая 2025, 13:15:03:
При запуске скрипта, что будет происходить ?
Команда mail использует localhost для отправки почты, в данном случае postfix, который установлен на том же хосте, что и скрипт.
Давай не будем тут устраивать ликбез? Это уже выходит за рамки помощи, и начинается обучение. Рекомендую какие то курсы по PHP пройти, чтобы понять как работают скрипты.

Пользователь добавил сообщение 03 Мая 2025, 13:15:38:
nginx+apache+postfix
нафига тебе 2 web сервера на одном хосте?
« Последнее редактирование: 03 Мая 2025, 13:15:38 от AlexDem »

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #36 : 03 Мая 2025, 14:47:29 »
Спасибо за разьяснение, не совсем ликбез, но, помощь не помешает.

Последнее, настроил по одному из манов на отдельном сервере почту (domain + postfix)

Отправляю тестовое письмо на (mail-tester.com).

Wow! Perfect, you can send

Score: 10/10

Далее, есть проблема.

Your reverse DNS does not match with your sending domain.

IP: 100.100.100.100
HELO: mydomain.com
rDNS: host133-34-444-44.dedic.provider.com

Из текста я понял что нужно указать там где RDNS имя домена ? или наоборот где HELO указать host133..

Далее если проверяю на ошибки здесь

mxtoolbox.com/diagnostic.aspx

Вот список ошибок

Reverse DNS does not contain the hostname
Reverse DNS does not match SMTP Banner
Warning - Does not support TLS.

Connecting to 100.100.100.100

220 mydomain.com ESMTP Postfix (Ubuntu) [331 ms]
EHLO keeper-us-east-1d.mxtoolbox.com
250-mydomain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUNKING [235 ms]
MAIL FROM:<supertool@mxtoolboxsmtpdiag.com>
250 2.1.0 Ok [251 ms]
RCPT TO:<test@mxtoolboxsmtpdiag.com>
454 4.7.1 <test@mxtoolboxsmtpdiag.com>: Relay access denied [238 ms]

LookupServer 2320ms


Далее после того как решу эту проблему с rdns попробую отослать письмо на реальный емайл, если после этого оно не попадёт в спам листы, тогд можно считать что почта настроенна корректно. А там я скачал книгу по postfix.. уже буду сам разбираться более детально как и что. Мне главное хотя бы один раз нормально настроить чтобы без ошибок было



Пользователь добавил сообщение 03 Мая 2025, 19:36:46:
Всё решил, кроме

SMTP TLS   Warning - Does not support TLS.

Не знаю где смотреть, в main.cf прописал все сертификаты + smtp_tls_security_level = may

Что может быть ?

Всё решил, проблему.  :D

Завтра протестируем так как лимиты тестов почты 3 раза в день только.

Пользователь добавил сообщение 04 Мая 2025, 12:18:54:
AlexDem - спасибо за помощь, сегодня всё протестировал, работает 100/100 попадание в inbox + mail test score 10/10.
Дальше уже буду разбираться как там настраивать сами ящики чтобы хотябы базово понимать как получать почту теперь и создавать ящики.
« Последнее редактирование: 04 Мая 2025, 12:18:54 от unbuntu »

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #37 : 06 Мая 2025, 10:55:14 »
Это неосуществимо. По-любому в какой-нибудь блэк-лист попадёшь.
Я просто забил на особо тупые БЛ. На гугл почта ходит, на яндекс ходит - и спасибо.

Но open relay точно нужно блокировать. И проверять, что действительно блокировано. Тот же самый mxtoolbox в руки.

Не попадёшь, если использовать емайлы тестеры, только верифицированные. Которые не отправляют в случае чего твой айпи в спам листы.
Тестил неоднократно с помощью пару тройки из гугла. Все ок. После тестов, отправлял уже письмо на реальный емайл, в заголовках там видно что прошло а что нет - всё сходилось, то есть как у емайл тестеров так и на реальном емайле.

Пользователь добавил сообщение 06 Мая 2025, 11:26:11:
дело в том что на сервера закрыты полностью все почтовые порты !
Что значит "полностью все почтовые порты"? Обычно для реализации SMTP надо 25 порт, его да, закрывают обычно, без него работать не будет. Ну хостинг-провайдеру можно написать чтобы открыл, адекватные обычно это делают. Все остальные обычно открыты, но они только для работы POP/IMAP нужны, ну если полноценный сервер делать, со сбором почты на него.
В любом случае после настройки всего и вся, надо несколько раз, по разу в день прогнать через https://www.mail-tester.com/ чтобы понять нет ли потенциальных проблем и не появились ли они. Ну и https://www.dnswl.org/selfservice/ не забыть.
Должно быть как то так:
(Нажмите, чтобы показать/скрыть)

Кстати у www.mail-tester.com только 3 бесплатных попытки есть
Как альтернатива есть ещё dkimvalidator.com тоже не плохой сервис для проверки DKIM + SPF
« Последнее редактирование: 06 Мая 2025, 11:26:11 от unbuntu »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28510
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #38 : 06 Мая 2025, 13:04:34 »
Не попадёшь, если использовать емайлы тестеры, только верифицированные.
Это что за зверь такой - "верифицированные емайл тестеры" ?
Не пробовали мозги под давлением промывать? Чтобы всю грязь напрочь вышибало.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #39 : 06 Мая 2025, 13:23:17 »
Не попадёшь, если использовать емайлы тестеры, только верифицированные.
Это что за зверь такой - "верифицированные емайл тестеры" ?
Не пробовали мозги под давлением промывать? Чтобы всю грязь напрочь вышибало.

 ;D - есть тестеры которые тестят на реальных емайл адресах, с проверкой на inbox, spam.

  Надеюсь они не добавляют твой айпи никуда, просто погугли первые результаты email spam checker и так далее.
  Там тебе предлагают отослать тест письмо на gmail.com !

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28510
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #40 : 06 Мая 2025, 16:49:03 »
Я говорю не о мифических "спам чекерах", а о конкретных технических проверках, которые несложно сделать и самому, если знаешь, куда смотреть.
Например та же самая проверка на open relay делается в три письма, отправленных самому себе с помощью того же ssmtp/msmtp напрямую на сервер без всяких посредников.
I.e. https://github.com/AnrDaemon/samba4-ads/tree/master/root/smtest
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #41 : 06 Мая 2025, 17:22:45 »
Я говорю не о мифических "спам чекерах", а о конкретных технических проверках, которые несложно сделать и самому, если знаешь, куда смотреть.
Например та же самая проверка на open relay делается в три письма, отправленных самому себе с помощью того же ssmtp/msmtp напрямую на сервер без всяких посредников.
I.e. https://github.com/AnrDaemon/samba4-ads/tree/master/root/smtest

Это уже более углублённые технические решения, это можно сказать и о том же Postfix. Не зря книгу написали, так как то что там в манах по интернету - это только крошки айсбегра, по сравнению с реально качественной настройкой со всеми вытекающими от хидеров лимитов и запретов.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28510
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #42 : 08 Мая 2025, 21:46:47 »
Нет, это именно первичная настройка.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #43 : 08 Мая 2025, 22:11:12 »
Дабы не создавать новую тему.

Удалось решить, всё с помощью виртуальных ящиков на postfix.

Почта ходит как между юзерами (сущестующими) так и отправка на сервер из вне (к прим. через outlook (gmail аккаунт) на сервер (существующим).



Алиасы виртуалки
alice@domain1.com domain1.com/alice/
bob@domain2.com domain2.com/bob/

Полный путь к директории с приходящей почтой куда она слаживается
/home/virtualmailboxes/domain1.com/alice/
/home/virtualmailboxes/domain2.com/bob/

Вопрос теперь в том, как прикрутить к этому конфигу с виртуальными доменами/юзерами на Postfix --> Dovecot

Чтобы можно было подключиться через емайл клиент и забрать/читать почту.


То есть всё банально просто, теперь нужно как-то прикрутить Dovecot чтобы он читал эти директории и можно было авторизироваться чтобы забирать почту чере емайл клиенты. На этом вроде настройка всего и вся будет завершена (базовая).

Читал там про безопасность и так далее, между делом (книгу по Postfix) конечно потом нужно будет базово обезопасить от спама и так далее, но, там уже такое, мелочи можно сказать. Главное что щас отшивает всех потому что не опен релей. Так как в логах уже там кто-то что-то пытался отправить. Сервер - отшивает что уже хорошо, но, нужно донастроить как я понял.
« Последнее редактирование: 08 Мая 2025, 22:18:02 от unbuntu »

Оффлайн unbuntu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Вопросы на счёт почты
« Ответ #44 : 12 Мая 2025, 19:04:03 »
письма к примеру при регистрации на сайте отправлялись пользователям ?
в 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.

Возник вопрос, если запускать PHP Mailer из под главного почтового домена, будет ли он работать ?

То есть я на почтовом сервере положил PHP Mailer в папку главного домена, запускаю и....

В Логах сервера пишет

postfix/smtpd[12345]: lost connection after CONNECT from mail.domain.com[195.111.12.12]
То есть выходит я использую свой же сервер для подключения типа из вне с авторизацией.

На емайл клиенте (Outlook) почта работает, уходит и приходит, а вот решил использовать PHP Mailer, как это было с провайдером, только на собственном сервере, то почему-то не коннектит как я понял.

 

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