Немного предыстории -

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

Но когда некоторые новички начали спрашивать меня о сомнениях по поводу отправки писем через их установки php или WordPress, а у меня не было ответов на их вопросы, я подумал о том, чтобы попробовать. Итак, вот оно!

Основное решение -

Теперь, если вы используете Mac или ubuntu, у них есть локальные серверы для отправки почты. Таким образом, можно отправить электронное письмо с помощью функции PHP mail (), которая включена в ядро ​​PHP, с минимальными параметрами, такими как Получатель, Тема, Фактическое сообщение и От в дополнительных заголовках. Это займет всего пять минут, и вы фактически отправите сообщение, прежде чем что-либо узнаете!

Ограничения этого метода -

  • На компьютерах с Windows нет локальных серверов для отправки таких писем.
  • Существует высокая вероятность того, что письмо попадет в папку спама получателя.

Лучшие решения -

На github есть популярная библиотека PhpMailer (~ 5 млн скачиваний), которая позволяет вам настраивать конфигурации SMTP и открывает множество функций, таких как добавление cc, bcc, вложений к вашим письмам в дополнение к отправке писем в формате HTML.

Настройка конфигурации займет от 15 минут до получаса, и тогда вы готовы к работе!

Действия по успешной отправке писем -

Сначала следуйте инструкциям на странице PhpMailer на github, чтобы установить его. Для установки PhpMailer рекомендуется использовать Composer. Вы можете установить Composer, следуя этим инструкциям. Хотя вы можете git clone PhpMailer, файл autoload.php создается Composer при установке, что необходимо для успешной отправки писем.

Как только вы закончите с этим, вам нужно создать функцию, которая будет иметь ваши конфигурации SMTP. Пример функции выглядит примерно так -

function sendMailContent($ToEmail, $Subject, $Message) {
 require_once 'path-to-your class.phpmailer.php';
 require_once 'path-to-your class.smtp.php';
 try {
  $FromEmail = "[email protected]";
  if ($ToEmail == "") {
   return 'Please add at lease one recipient';
  }
  $mail = new PHPMailer();
  $mail->isSMTP();
  $mail->Host = 'smtp.gmail.com';
  $mail->SMTPAuth = true;
  $mail->Username = 'gmail username';
  $mail->Password = 'gmail password';
  $mail->SMTPSecure = 'tls';
  $mail->Port = 587; //587 or 465
  $mail->isHTML(true); //To send HTMLised emails
  $mail->From = $FromEmail;
  $mail->FromName = 'From name';
  $To = $ToEmail;
  if (count($To)) {
   $mail->addAddress($To, '');
   $mail->Subject = $Subject;
   $mail->Body = $Message;
   return $mail->send();
  } else {
   return 'Error in sending mail';
  }
 } catch (Exception $e) {
  return $e;
 }
}

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

Примечание. Если после первой попытки Google отправит электронное письмо на использованный вами идентификатор «От» с сообщением «Просмотрите заблокированную попытку входа», попробуйте «разрешить доступ к менее безопасным приложениям»
Easypeasy!

Поскольку это была моя первая попытка, я постарался сделать ее краткой, но информативной. Надеюсь, я продолжу добавлять сюда крутые штуки!

Удачного кодирования!