Как отправить электронную почту с PHP без сервера SMTP?

У меня есть классическая платформа LAMP (Debian, Apache2, PHP5 и MySQL) на выделенном сервере.

Я слышал, PHPMailer может отправлять электронную почту без установки SMTP. Является ли PHPMailer лучшим выбором для этого?

Да, PHPMailer – очень хороший выбор.

Например, если вы хотите, вы можете использовать бесплатный SMTP-сервер googles (это как отправка из вашей учетной записи gmail.), Или вы можете просто пропустить часть smtp и отправить ее как обычный вызов mail (), но со всеми правильными заголовки и т. д. Он предлагает многостраничные электронные письма, вложения.

Довольно легко настроить тоже.

<?php $mail = new PHPMailer(true); //Send mail using gmail if($send_using_gmail){ $mail->IsSMTP(); // telling the class to use SMTP $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "ssl"; // sets the prefix to the servier $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server $mail->Port = 465; // set the SMTP port for the GMAIL server $mail->Username = "your-gmail-account@gmail.com"; // GMAIL username $mail->Password = "your-gmail-password"; // GMAIL password } //Typical mail data $mail->AddAddress($email, $name); $mail->SetFrom($email_from, $name_from); $mail->Subject = "My Subject"; $mail->Body = "Mail contents"; try{ $mail->Send(); echo "Success!"; } catch(Exception $e){ //Something went bad echo "Fail - " . $mail->ErrorInfo; } ?> 

Без SMTP вы можете использовать функцию почты PHP: http://php.net/manual/en/function.mail.php

bool mail (string $ to, string $ subject, string $ message [, string $ дополнительные_headers [, string $ дополнительные_параметры]])

Вы можете использовать phpmailer для отправки, используя функцию php mail () по умолчанию.

Я рекомендую не пытаться делать что-то вручную, используя функцию mail (), вместо этого используйте phpmailer и настройте его для использования mail ().

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