Недавно я установил сервер CentOS 6.4 с использованием минималистичной установки. У меня есть рабочая версия PHP, и я хочу использовать функцию mail() в PHP.

  • Что мне нужно, чтобы это работало (почтовые серверы, скрипты, что нужно?)
  • Как мне продолжить установку того, что нужно?

1 ответ1

0

Отправка электронной почты - сложная тема, потому что измерения антиспама становятся все более и более агрессивными. Я рекомендую отправлять электронные письма, используя SMTP и стороннего поставщика. В большинстве случаев у вас уже есть способ отправлять и получать электронные письма для вашего проекта (т.е. включенного в ваш домен или веб-хостинг). Я объясню "как" и "почему" ниже.

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

Множественный выбор:

  1. ssmtp.

Это небольшой инструмент, который предоставляет двоичный файл sendmail для функции mail() PHP. Установите его и настройте, используя файл /etc/ssmtp/ssmtp.conf. Вот пример для отправки почты с использованием SSMTP и SSL:

mailhub=smtp.yourprovider.com:465
hostname=yourdomain.com
AuthUser=yourusername
AuthPass=yourpassword
FromLineOverride=NO
UseTLS=yes

При отправке почты с использованием функции mail(), php вызовет двоичный файл sendmail, а ssmtp доставит электронную почту прозрачно, используя SMTP.

  1. Postfix/Exim/Sendmail

Вы можете настроить стандартный почтовый сервер для вашей системы и настроить его на ретрансляцию электронной почты через стороннего поставщика. Это немного сложнее, чем ssmtp, но позволяет принимать электронную почту на локальном SMTP-порту 25. Просто Google для SMTP-реле и имя вашего почтового сервера.

  1. PHPMailer

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

PHPMailer может отправлять почту, используя сам SMTP, или его можно использовать вместе с инструментом ssmtp.

Почему отправка электронной почты сложна?

Как я уже говорил, измерения для защиты от спама становятся все более и более агрессивными. чтобы сделать это правильно, вы должны установить демон почтовой программы, такой как postfix, exim или sendmail, и настроить его правильно. т.е. вы должны убедиться, что никто не может использовать ваш почтовый сервер для отправки почты без аутентификации. Вы должны настроить запись MX своего домена так, чтобы она указывала на ip вашего сервера, потому что другие почтовые серверы проверяют ваш ip отправителя, используя запись MX. Возможно, вам придется настроить DKIM (Идентифицированную почту DomainKeys), чтобы ваша почта не классифицировалась как спам.

Если вы правильно настроили свой сервер и домен, это не так. Веселье только начинается.

Если вы начнете отправлять электронные письма различным почтовым провайдерам, некоторые получатели могут пометить ваши электронные письма как спам. Это происходит не только с новостными рассылками и рекламой, некоторые пользователи также помечают автоматические подтверждения регистрации как спам. Если несколько ваших электронных писем были помечены как спам на таких крупных почтовых провайдерах, как Microsoft, Google или GMX, они заблокируют ваш IP-адрес или классифицируют его как спам. Затем вы должны зарегистрироваться в Microsoft и других и расследовать удаление вашего IP-адреса. Это может быть трудоемкой задачей.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .