РЕДАКТИРОВАТЬ: Этот ответ может быть устаревшим.В то время, когда я писал это, были некоторые проблемы с библиотекой SwiftMailer.На данный момент все отлично работает с SwiftMailer
и считается лучшей библиотекой с гораздо большим предложением, чем PHPMailer
.
Я бы предложил вам использовать phpmailer.Это одна из самых стабильных почтовых библиотек, которые я когда-либо использовал.Вот пример кода, который должен работать:
include("./phpmailer/class.phpmailer.php");
$mail = new PHPMailer(false); // the true param means it will throw exceptions on errors, which we need to catch
$mail->IsSMTP();
$mail->Host = "YourDomainName.com";
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Host = "YourSMTPMailServer.com";
$mail->Port = 587;
$mail->Username = "your-auth-user@yoursmtpmailsercer.com";
$mail->Password = "password"; // GMAIL password
$mail->AddAddress("sendToThis@email.com", '<< >> ! " Receiver Name');
$mail->SetFrom('sendFROMthis@email.com', '<< >> ! " Sender Name');
$mail->Subject = "A testing subject";
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
$mail->MsgHTML('This is my <b>html</b> testing email, sent '.time());
$mail->Send();
Вам необходимо настроить его так, чтобы он подключался к вашему почтовому серверу, но он должен работать.Phpmailer ускользает от всего, что я пробовал.Единственное, что я проверяю, это "sendToThis@email.com".Я делаю это с помощью этого кода:
$email = "sendToThis@email.com";
$email = filter_var(filter_var($email,FILTER_SANITIZE_EMAIL),FILTER_VALIDATE_EMAIL);
if($email){
echo "This email is valid!";
} else {
echo "This email is INVALID!";
}
Надеюсь, это поможет:)