Как отправлять электронные письма с другого адреса или при помощи псевдонима

Содержание:

Введение

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

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

Замена адреса отправителя может быть полезна в разных ситуациях. Я ее буду использовать конкретно для решения проблемы с отправкой писем через почтовые сервера Яндекса. Для успешной отправки письма, Яндекс требует, чтобы адрес отправителя в письме совпадал с адресом для авторизации на сервере. Если это не будет сделано, то вы получите ошибку во время отправки — Sender address rejected: not owned by auth user.

May  8 15:13:14 prox-centos7 postfix/smtp: D84A51807123: to=<zeroxzed@gmail.com>, relay=smtp.yandex.ru:587, delay=0.17, delays=0.02/0.01/0.13/0.01, dsn=5.7.1, status=bounced (host smtp.yandex.ru said: 553 5.7.1 Sender address rejected: not owned by auth user. (in reply to MAIL FROM command))

Происходит это потому, что отправка системных сообщений идет от локального пользователя root. Имя отправителя в письме будет примерно такое — root@prox-centos7.loc. В данном случае prox-centos7.loc это локальное имя сервера. Я его заменю на учетную запись яндекса.

Отправителя письма можно подделать

Вот эти две свежие статьи на Geektimes сподвигнули меня высказаться о наболевшей проблеме. С неё сталкивался и я, когда настраивал VPS с почтовым сервером Exim:

Автор первой статьи истерично реагирует на обнаруженную «особенность» отправки писем и демонстрирует незнание почтовых протоколов, вторая содержит больше технических подробностей и даёт пищу для размышлений. Вдогонку ранняя статья:

Подделываем письма от крупнейших российских банков: https://habrahabr.ru/post/326382/

Суть в том, что можно подделать отправителя имейла и получивший письмо может ничего не заподозрить. В поле «от:» письма можно вписать что угодно, как и в случае с настоящей почтой. Прокатывает только при некоторых условиях, но их достаточно, чтобы получить, например, письмо от известного зелёного банка с просьбой ввести свои данные на постороннем сайте.

Почему же нельзя проверять подлинность отправителя до того, как письмо увидит пользователь? Вот комментарий с Гиктаймса, проливающий свет на проблему:

Знающие люди могут поправить меня: получатель всегда может посмотреть исходник письма, по ним подлинность определяется на раз-два.

Вот только когда вы последний раз смотрели на хедеры письма? В веб-интерфейсах почты это сделать можно, но нужно понимать, что это вообще такое и зачем нужно. В школе на уроках информатики об этом не расскажут, в ВУЗах на не программно-инженерных специальностях — тоже. Так с чего бы среднеокруглённому сотруднику офиса знать, как проверять имейлы на подлинность отправителя?

Псевдонимы Gmail

Как использовать псевдоним Gmail для сортировки писем

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

Например, все перечисленные далее адреса принадлежат аккаунту janedoe@gmail.com:

  • janedoe+shkola@gmail.com
  • janedoe+zametki@gmail.com
  • janedoe+vazhnoe@gmail.com

Шаг 1. Выберите псевдонимы

Подумайте, как вы хотите сортировать свои письма. Например:

  • Имя пользователя+rabota@gmail.com для рабочей переписки.
  • Имя пользователя+novosti@gmail.com для рассылок.
  • Имя пользователя+magazini@gmail.com для писем из онлайн-магазинов.

Шаг 2. Настройте фильтры

Настройте автоматические действия для псевдонимов, например такие:

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

Отправка писем с корпоративного псевдонима

Если вы пользуетесь Gmail в учебном заведении или организации, можно настроить аккаунт с делегированным доступом для отправки писем при помощи псевдонима группы.Чтобы получить подтверждение для отправки писем с корпоративного псевдонима, нужно открыть доступ для группы.

Важно! Псевдонимы могут быть видны другим пользователям. Например, если выполнить в Gmail поиск писем от bill@school.edu, вы сможете найти и письма от alias@school.edu

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

  1. Откройте Google Группы.
  2. Нажмите Мои группы.
  3. Нажмите Управление рядом с названием нужной группы.
  4. На панели слева нажмите Разрешения Разрешения на отправку сообщений.
  5. В разделе «Публикация» нажмите на стрелку .
  6. Выберите Все в Интернете.
  7. Нажмите Сохранить.

Извлечение IP-адреса из метаданных письма

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

Если у вас почтовый ящик Protonmail, то для получения информации об IP-адресе отправителя в меню управления письмом выберите Просмотр заголовков.

В открывшейся ссылке в самом верху будет Received: from и IP-адрес отправителя, в случае использования веб-сервиса там будет IP-адрес веб-сервиса.

В других почтовых службах или клиентах метаданные почти всегда можно найти в меню управления письмом. Им будет посвящена отдельная глава курса, так как помимо IP-адреса там содержится еще много любопытной информации.

Теперь один важный момент: некоторые пользователи в сети утверждают, что описанный выше способ не работает, иные утверждают, что он работает всегда и везде. И то, и другое ‒ неправда. Данный способ работает тогда, когда письмо отправляется с почтового клиента, установленного на компьютере или мобильном устройстве, и не работает, когда письмо отправляется с веб-клиента, например с сайта https://protonmail.com. По имеющейся у нас статистике, сегодня через инсталлируемые (=устанавливаемые на устройство) клиенты отправляется порядка 30% всех писем.

Защита от данного способа получения IP-адреса – использование VPN, Tor или proxy, которые можно прописать во многих инсталлируемых почтовых клиентах.

Подмена e-mail адреса в зависимости от источника трафика на одностраничном сайте/лендинге

Чтобы отслеживать эффективность рекламы в Facebook и AdWords, создаем еще две дополнительные почты, например: и adwords@domain.com.

Далее создаем две переменные {{URL — utm_source}} и {{URL — utm_medium}}, в которых будет храниться информация о рекламном источнике и канале.

ВАЖНО! Рекламные кампании должны быть помечены UTM метками. Если вы используете автопометку в кампаниях AdWords, придется создать еще одну переменную, которая будет хранить информацию об этом параметре URL

Ниже, код, который необходимо вставить, предварительно изменив его под свой сайт:

  • вместо your_email_selector нужно указать CSS-селектор необходимого вам элемента;
  • your_email_class — указываем класс, который используется для отображения необходимого элемента;
  • adwords@domain.com и — заменяем на нужные e-mail адреса.

JavaScript

<script>

if ( {{URL — utm_source}} === «google» && {{URL — utm_medium}} === «cpc» ) {

} else if ({{URL — utm_source}} === «facebook» && {{URL — utm_medium}} === «cpc» ) {

}

</script>

1
2
3
4
5
6
7
8
9
10
11
12
13

<script>
 

if({{URL-utm_source}}===»google»&&{{URL-utm_medium}}===»cpc»){

jQuery(‘your_email_selector’).replaceWith(‘<a class=»your_email_class»>adwords@domain.com</a>’);

}elseif({{URL-utm_source}}===&&{{URL-utm_medium}}===»cpc»){

jQuery(‘your_email_selector’).replaceWith(‘<a class=»your_email_class»>facebook@domain.com</a>’);

 
}
 
</script>

Давайте разберем поэтапно, что делает этот код.

JavaScript

if ( {{URL — utm_source}} === «google» && {{URL — utm_medium}} === «cpc» )

1 if({{URL-utm_source}}===»google»&&{{URL-utm_medium}}===»cpc»)

эта часть проверяет, является ли источник трафика “google”, а рекламный канал “cpc” и если это так, выполняет код ниже:

1 jQuery(‘your_email_selector’).replaceWith(‘<a class=»your_email_class»>adwords@domain.com</a>’)

Вторая часть кода аналогична, только делает проверку на другое условие.

1 jQuery(‘your_email_selector’).replaceWith(‘<a class=»your_email_class» href=»mailto:adwords@domain.com»>adwords@domain.com</a>’)

Атаковать с использованием WebDAV

Решение

Веб — это большая-большая смесь различных технологий на самом деле. Их много-много, и неполоманного тоже много. А есть старое и почти забытое, но которое в определенных ситуациях дает отличный профит. Итак, WebDAV (Web Distributed Authoring and Versioning) — это относительно старая технология, позволяющая, если по-простому, работать с файлами на веб-сервере. Мы можем закачивать файлы, искать, перемещать их, используя возможность только веб-сервера. Получается некий аналог файловой системы. Хотя, с другой стороны, WebDAV — это не совсем доступ именно к файлам, так как это могут быть и «виртуальные» файлы и директории

Но для наших целей (атака) это не настолько важно

Скорее здесь интересней то, что WebDAV — расширение протокола HTTP. То есть в том же виде HTTP-запросов, который мы знаем, передаются WebDAV-команды и их «параметры». Метод HTTP-запроса (GET) является командой, например PROPFIND, а параметры передаются в теле запроса чаще всего в XML-формате. По картинке будет понятно.

Пример работы команд WebDAV

Думаю, необходимо отметить, что браузеры сами по себе не умеют работать с WebDAV’ом. В смысле там нет функционала для просмотра коллекций (файлов) или для их загрузки на сервер. Так что нужно пользоваться сторонним ПО. В винде есть поддержка проводником. Для этого надо зайти в меню «Сервис -> Подключить сетевой диск» и указать полный путь для веб-сервера (вроде ).

О’кей. Идейно разобрались. Что же до атаки? Ну, WebDAV нам сулит две вещи. Во-первых, это дисклоз информации. Так как мы можем производить поиск по файловой системе (не по всей, разумеется), то есть шанс найти что-то, что не должно быть нам доступно. Во-вторых, это возможность заливки файлов. И здесь все может быть очень аппетитно. Как минимум мы можем залить HTML’ку и поиметь хранимую XSS, как максимум (?) — мы можем залить туда шелл и получить полный доступ.

Как же нам это провернуть? Для этого надо понять ряд вещей: поддерживает ли сервер WebDAV и какой доступ у нас есть. Для того чтобы понять, есть ли поддержка, мы можем посмотреть заголовки веб-сервера. Тот же апач сообщает об этом. Кроме того, некоторые веб-серверы поддерживают его по умолчанию (IIS 5.x).

Но поддержка еще ничего нам не дает, потому что мы должны найти директорию веб-сервера, которая с WebDAV’ом. Для того чтобы ее искать, нам потребуется использовать HTTP-метод OPTIONS. Если мы запросим данным методом директорию с WebDAV’ом, то нам выползет список WebDAV-методов, доступных для нее. То есть отсутствие WebDAV-методов в ответе на OPTIONS-запрос к корню веб-сервера еще совсем не означает отсутствие поддержки WebDAV во всех директориях.

Детектим поддержку WebDAV

Далее, если мы ее обнаружили, то мы можем использовать команду PROPFIND или SEARCH для поиска имеющихся файлов на сервере. Но тут нас может ждать первая преграда — аутентификация. К сожалению, очень на многих веб-серверах при настройке WebDAV это одно из необходимых условий. Брутфорс и пароли по умолчанию, конечно, в помощь. Когда мы найдем необходимый файл, то спокойно можем его качать (используется обычный GET).

А как же с загрузкой файлов? Здесь тоже все отчасти просто. Используется метод PUT для закачки файлов. Но есть два существенных ограничения. Во-первых, чаще всего мы не можем писать в любую директорию. На это у директории должны быть соответствующие права. Но главное, насколько я знаю, невозможно понять, для какой директории есть права на запись, а для какой — нет. То есть тот же OPTIONS будет един для всех. С другой стороны, мы просто можем потыкаться везде PUT’ом. Во-вторых, часто имеется список расширений, которые можно загружать. Да-да, не только мы умные :).

Так вот, чтобы четко протестить веб-сервер на предмет WebDAV, необходимо просканить все директории с помощью OPTIONS-метода (тлз отдельных не видел, а модуль в метасплоите проверяет лишь корень веб-сервера, так что рукописный скрипт или Burp тебе в помощь). А после этого каждую из найденных — на возможность загрузки в нее различных страшных файлов. Вот под это есть одна тулзенка — DAVTest. Она вполне удобна для тестирования. Создает рандомные имена файлам и папкам, загружает с различными расширениями, подчищает за собой. Кроме того, может проверить олдскульный трик: закачать файл с одним расширением, а потом его переименовать. Аналогичные модули есть и в Metasploit’е.

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

И успешных познаний нового!

Значение возможного спуфинга электронной почты?

Возможным почтовым спуфингом является имя ошибки, содержащее сведения об ошибке, в том числе о том, почему это произошло, какой системный компонент или приложение вышло из строя, чтобы вызвать эту ошибку вместе с некоторой другой информацией. Численный код в имени ошибки содержит данные, которые могут быть расшифрованы производителем неисправного компонента или приложения. Ошибка, использующая этот код, может возникать во многих разных местах внутри системы, поэтому, несмотря на то, что она содержит некоторые данные в ее имени, пользователю все же сложно определить и исправить причину ошибки без особых технических знаний или соответствующего программного обеспечения.

Настройка возможности отправлять письма от другого вашего адреса на почте Яндекс

На почте Яндекс не встроена специальная возможность для отправки письма или ответа от нужного адреса электронной почты. Изначально вы можете выбрать лишь различные вариации зон одного и того же вашего основного адреса, например:

При этом имя можно задать любое. Его можно менять каждый раз при написании письма или при ответе на чьё-то письмо.

Чтобы включить возможность писать от других адресов в Яндексе есть 2 пути:

Настройте сбор почты с нужных электронных ящиков, от адресов которых хотите отвечать в своей основной почте Яндекса.

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

Добавить нужные адреса, от которых вы хотите слать письма в качестве резервных (дополнительных).

Если сбор почты вам не нужен, то вы можете пойти эти путём и просто внести в ваш аккаунт Яндекса нужные адреса как дополнительные и тогда вы сможете отправлять с них письма.

Вообще, дополнительные адреса в Яндекс нужны с целью возможности восстановления через них доступа к вашему аккаунту, если, например, забудете пароль.

Вариант 1 (настройка сбора почты) уже был рассмотрен в отдельной статье, здесь » Прочтите её и повторите все шаги, если вам, помимо возможности указывать нужный адрес отправителя, требуется ещё и почту с того адреса собирать.

Откройте настройки почты и выберите раздел “Безопасность” .

Под заголовком “Дополнительные адреса” нажмите “Редактировать”.

Укажите в соответствующей строке нужный адрес и нажмите “Добавить адрес”.

Вероятно, Яндекс попросит вас указать пароль от текущей почты. Введите его продолжите.

Теперь перейдите в ту почту, которую вы указали на предыдущем шаге и откройте там письмо от Яндекса с названием “Привязка адреса к аккаунту на Яндексе”. Скопируйте оттуда код.

Этот код вставьте на странице Яндекса и нажмите “Подтвердить”.

Если всё сделали верно, то высветится сообщение, что вы привязали адрес. Нажмите “ОК”.

Готово! Теперь вы можете выбирать добавленный адрес в качестве адреса отправителя.

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

Нужный адрес отправителя выбирается непосредственно при создании письма или при ответе на входящее письмо.

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

Обратите внимание, что нельзя изменить фотографию отправителя. Она всегда будет одна и та же (которую вы указали в настройках аккаунта Яндекс), вне зависимости от того, какой адрес отправителя и имя вы укажете

Если нужно изменить адрес отправителя при ответе на чьё-то входящее письмо, то в форме ответа нажмите кнопку “Перейти в полную форму ответа” и далее всё точно так же как описано выше.

Проверяем подлинность сами

Так как почтовые серверы никто настраивать не хочет, придётся научиться самим проверять подлинность особо важных писем. Расскажу, как это делать в трёх популярных почтовых сервисах. Способ не гарантирует 100% точность, зато относительно прост.

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

Почта от Гугла GMail: меню письма — «Показать оригинал».

Yandex: кнопка меню с тремя точками — «Свойства письма».

Mail.ru: кнопка меню справа от заголовка письма — пункт «Служебные заголовки».

Откроется простыня (ПРОСТЫНИЩЕ!) текста, в котором нужно найти три строчки (можно поиском по странице, нажав Ctrl+F, они будут в начале текста):

  1. From: «Имя» <адрес@ящика> (то, что видно в поле «От:», когда мы открываем письма).
  2. Return-Path: <адрес@ящика> (скорее всего настоящий адрес отправителя).
  3. Reply-To: <адрес@ящика> (это адрес, который подставится в поле «Кому:» при ответе на письмо, поле не всегда имеется).

Если адреса первых двух полей совпадают, скорее всего, письмо не подделка.

Третий служебный заголовок письма «Reply-To» вставляется не всегда. Мошенниками он применяется для более хитрой схемы. Допустим, приходит такое письмо начальника подчинённому:

От: boss@company.com

Тема: напомни пароль от онлайн-банка

Сообщение: Оставил блокнот в офисе, напомни пароль от личного кабинета банка.

Чтобы ответ одураченного сотрудника ушёл не к настоящему боссу на boss@company.com, а на поддельный boss-company.com@drzlo.com, пригодится поле «Reply-To». Нажав на «Ответить», в окне ответа подставится адрес, для усыпления бдительности похожий на настоящий.

Создаём файл конфигурации

Создадим файл send.php с таким содержанием

Здесь вам нужно отредактировать эти поля под себя:

// Формирование самого письма$title = "Заголовок письма";$body = "Само письмо"// Настройки вашей почты$mail->Host       = 'smtp.yandex.ru'; // SMTP сервера вашей почты$mail->Username   = 'your_login'; // Логин на почте$mail->Password   = 'password'; // Пароль на почте$mail->SMTPSecure = 'ssl';$mail->Port       = 465;// Адрес самой почты и имя отправителя$mail->setFrom('mail@yandex.ru', 'Имя отправителя');// Получатель письма$mail->addAddress('youremail@yandex.ru');  $mail->addAddress('youremail@gmail.com'); // Ещё один, если нужен

Сохраняем этот файл send.php и помещаем его в корень сайта

Почему ошибка?

Это очень частый вопрос, где я с полной уверенностью могу сказать: 60% причин ошибок — это ваш хостинг, 30% — ваша почта, 9% — вы неверно указали данные от почты, а 1% причин —ты, сука, даун, который решил изменить код, а потом начинаешь искренне удивляться, почему ничерта не работает.

Чтобы узнать, в чём причина, нужно раскомментировать вот эту строчку кода (убрать //):

//$mail->SMTPDebug = 2

Теперь в браузере нужно открыть консоль (F12) > вкладка “console” и отправить сообщение. У вас должна появиться новая строчка (список), которую нужно раскрыть:

Причина: Error: authentication failed: Invalid user or password! , то есть неверно указаны данные почты.

Если для вас эти строчки, как иероглифы, и уверены, что ошибки в написании данных почты нет, то отправляете два письма: одно в тех.поддержку вашего хостинга, второе в тех.поддержку вашей почты с таким содержанием:

Привет. Пытаюсь настроить PHPMailer, но в логах у меня ошибка:*СЮДА ВСТАВЛЯЕТЕ ЭТИ СТРОЧКИ ИЗ КОНСОЛИ*

Через некоторое время они ответят и письма начнут нормально уходить.

Резюме

  • Обязательно создайте политику для всех MX- и, желательно, A-записей.
  • Добавьте SPF-политики для имен, используемых в HELO/EHLO почтового сервера.
  • Публикуйте SPF-политику как TXT-запись с в DNS.
  • В политике преимущественно используйте адреса сетей заданные через /. Располагайте их в начале политики, чтобы избежать лишних DNS-запросов. Минимизируйте использование , не используйте без необходимости , без крайней и непреодолимой необходимости не используйте и никогда не используйте .
  • Указывайте для доменов, с которых реально отправляются письма, — для неиспользуемых доменов и записей.
  • Используйте маленькие TTL на период внедрения и тестирования, затем повысьте TTL до разумных значений. Заблаговременно снижайте TTL при необходимости внесения изменений.
  • Обязательно тестируйте правильность SPF-политики, например, здесь.
  • Не ограничивайтесь только SPF, постарайтесь внедрить DKIM и обязательно внедрите DMARC. DMARC поможет защитить ваши письма от подделок и позволит вам получать информацию по нарушениям SPF. Это позволит выявить подделки, непрямые потоки писем и ошибки конфигурации.
  • После внедрения SPF, DKIM и/или DMARC проверьте их с помощью сервиса https://postmaster.mail.ru/security/.
    SPF и DMARC проверяются по текущему состоянию, наличие DKIM проверяется по статистическим данным за предыдущий день и будет показываться только при наличии переписки с ящиками на Mail.Ru в предшествующий день или ранее.

Пример политики SPF:

как получить временную почту?

Один из способов, это завести дополнительный почтовый ящик где-нить в Яндекс или Гугл — однако, это достаточно долго организовывается по времени.

Поможет другой вариант:

никакой регистрации: имени, фамилии и т.д.

И времени требует секунды, пока открывается окно браузера.

как получить одноразовую электронную почту

Вот адресок одного такого приличного сервиса: временная почта … Перейдите, познакомьтесь… а я вкратце расскажу как им пользоваться: (фото ниже)

Всё просто ! как только откроется страничка сервиса, можно сказать — всё готово!

В самом верхнем окошке адрес вашей временной почты. Этот адрес можно тут же копировать и смело втыкать туда, куда нужно — пользоваться.

А возможно, придумать какой-то свой адресок: жмёте кнопку «Сменить» и в настройках делаете такие варианты имени эл-п, которые наиболее симпатичны вашей душе.

Важно: придумайте какое-то имечко позаковыристей, чтобы исключить всякие накладки. Например, если избрать простенькое имя типа dasha@vps202.com — возможно встретить чужие послания

Например, если избрать простенькое имя типа dasha@vps202.com — возможно встретить чужие послания.

Это не страшно!! даже если кто-то прочтёт Ваши коммюнике… т.к невозможно разобраться что это за данные и для чего???

Следующий шаг: идёте туда, где требуется ваш адрес электронной почты… Там всё как и положено оформляете, и — прописываете новый полученный в одноразовом сервисе адрес.

Далее остаётся только дождаться письма из магазина (или там откуда не знаю…), прочитать, или переслать на свою тайную личную почту.

И забыть обо всём этом, как о сладостном сне))

В общем, одноразовая почта — это отличнейший способ избавиться от спама.

Если даже и будет спамить тот сайт, для которого вы проделали эту операцию, — спам станет улетать на одноразовый ящик: путь его читают роботы-боты)

Вот небольшая подборка сервисов:

А на вопрос:

а могут ли на сайтах запретить регистрацию по временному адресу

Да, могут! продвинутые владельцы сайтов-услуг подозревают, когда их динамят, и блокируют процесс регистрации, коли юзер предлагает фуфло).

В этом конкретном случае стоит пойти по длинному пути регистрации обычного почтового аккаунта, или поступить более правильно, об этом ниже:

И вот эти…

полезные фокусы со своей личной почтой нужно знать!

Стоит запомнить и не забывать, — ваша собственная эл почта (имя почты) может дополняться какой угодно символикой, словами…

Всё что следует выполнить — так это дописать какое-то слово через символ плюс «+».

Ну, вот, например, так: ваша почта: получится типа — , или даже

В чём секрет?

Все отправленные вам письма по «новым» адресам будут приходить непременно на dasha@mail.ru. —

и сам символ плюс, и все литеры что после него до «собачки» — всё это обязательно игнорируется системой обработки почты: для нашего с вами удобства!

Однако, экса для, попробуйте отправить на свой адрес депешу по «новому» же адресу: вы тут же убедитесь в правоте моих слов и вникнете как это ловко работает…

Эпилог:

Автоматическая замена темы писем в postfix

Переходим к замене темы письма. Для этого добавляем в конфиг postfix /etc/postfix/main.cf следующий параметр.

header_checks = pcre:/etc/postfix/rewrite_subject

Создаем файл rewrite_subject следующего содержания:

/^Subject: (.*)$/ REPLACE Subject: (prox-centos7) $1

Это регулярное выражение, которое меняет заголовок письма, начинающийся с Subject. Оно добавляет в начало темы имя сервера в скобках — (prox-centos7). Вы можете добавлять что-то свое. Для тех, кто вообще не разбирается в регулярках, поясню, что в данном случае $1 это исходное содержание темы.

Перезапускаем postfix и проверяем, отправив через консоль письмо.

# df -h | mail -s "Disk usage" zeroxzed@gmail.com

Проверяем ящик и видим там письмо.

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

PHP Отправка письма с чужого E-mail

21 октября 2015 kna

<?php
   //Отправляем Email и проверяем на удачу
  
   if (mail("send_to@mail.ru", "Тема_письма", "Сообщение_в_письме")){
      echo "сообщение принято к доставке";
   }else{
      echo "что-то пошло не так";
   } 
?>

В результате выполнения скрипта на адрес send_to@mail.ru придет письмо с непонятного адреса Вашего почтового сервера. Чтобы изменить адрес отправителя всего-то нужно указать дополнительный параметр From вот так:

<?php
   //Отправляем Email и проверяем на удачу
  
   if (mail("send_to@mail.ru", "Тема_письма", "Сообщение_в_письме", "From: sender@mail.ru")){
      echo "сообщение принято к доставке";
   }else{
      echo "что-то пошло не так";
   } 
?>
<?php
   //Отправляем Email и проверяем на удачу
  
   if (mail("send_to@mail.ru", "Тема_письма", "Сообщение_в_письме", "From: Сайт Knasys.ru <noreply@knasys.ru>")){
      echo "сообщение принято к доставке";
   }else{
      echo "что-то пошло не так";
   } 
?>

Мдааа, вроде и хорошо — можно написать своё имя, отправить красиво, но ведь в параметре From я могу написать и нечто такое:

"From: Domain name registrar REG.RU <noreply@reg.ru>"

а в тексте письма попросить оплатить продление домена на свой электронный кошелёк!!!

P.S.: функция mail позволяет также отправлять красивые письма в формате html. как это сделать — узнайте у гугла.

P.P.S.: ну ладно, вот вам простой пример с использованием html-тэгов <b>:

<?php
header('Content-type: text/html; charset=utf-8');
    //Создаём текст сообщения
    $message = "Тестовое <b>сообщение</b>";

    //Говорят, что UTF-8 лучше не отправлять, т.к. не всегда русские символы отобрадаются корректно, поэтому конвертируем в windows-1251
    $message = iconv('utf-8','windows-1251',$message);

    //Для использования html тэгов нужно установить тип контента сообщения
    $headers= "MIME-Version: 1.0rn";
    $headers .= "Content-type: text/html; charset=utf-8";

    //Здесь пишем от кого отправляем
    $headers .= "From: Сайт Knasys.ru <noreply@knasys.ru>";

   //Отправляем Email и проверяем на удачу
   if (mail("send_to@mail.ru", "Тема_письма", $message, $headers)){
      echo "сообщение принято к доставке";
   }else{
      echo "что-то пошло не так";
   } 
?>

ВНИМАНИЕ!!!      ATTENTION!!!         ACHTUNG!!!

Найден стрёмный косяк: При отправке письма последним способом на почту yandex.ru от имени почтового ящика на mail.ru письма принимаются к доставке, но не доставляются, однако, от maail.ru всё проходит хорошо. Чувствую у яндекса есть какое-то огранечение по подмене адресов, хотя с сайта на UCOZ подмена на mail.ru происходит нормально. Возможно почтовый сервер UCOZa находится в доверенной зоне у яндекса. Кароче хрен знает…

Поэтому чтобы получатель мог отвечать на подмененный адрес, меняю заголовки так:

//Здесь пишем от кого отправляем
$headers .= "From: Сайт Knasys.ru <noreply@knasys.ru>rn";
$headers .= "Reply-To: Вася_Пупкин <vasya@mail.ru>";

10

(Просмотрено 3 767 раз, 1 раз за сегодня)

Категория: PHP

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector