У меня возникла проблема с PHP-почтовым скриптом. Используя mamp скрипт работает, но на сервере я получаю сообщение об ошибке (я пропустил конфиденциальную информацию).
«Недействительный адрес: [действительный адрес электронной почты] Ошибка Mailer: вы должны указать хотя бы один адрес электронной почты получателя».
- Проблема с настройкой SMTP с помощью PHPMailer на сервере GoDaddy
- Могу ли я использовать gmail как smtp-сервер для своего веб-сайта
- Обработка ошибок электронной почты Codeigniter
- PHP Неустранимая ошибка: «Swift_TransportException» с сообщением «Не удалось выполнить проверку подлинности на SMTP-сервере
- Форма обратной связи PHP SMTP Mail
Вот мой код:
require_once("includes/phpmailer/class.phpmailer.php"); $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->Host = "smtp.emailsrvr.com"; $mail->SMTPDebug = 2; $mail->Port = 25; $mail->Username = "test@test.com"; $mail->Password = "test"; $mail->Subject = "Subject"; $mail->SetFrom($_POST['email'], $_POST['name']); $mail->AddReplyTo($_POST['email'], $_POST['name']); $address = "test@test.com"; $mail->AddAddress($address, "name"); $body = "<p>test</p>"; $mail->MsgHTML($body); if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; }
Если это помогает, я использую приложения электронной почты rackspace.
К сожалению, я не очень уверен в настройках php или сервера, поэтому, если кто-то может помочь, это будет здорово!
Просто измените эту строку:
$address = "[valid email]";
к чему-то вроде:
$address = "test@test.te";
или к вашей собственной электронной почте, чтобы вы могли лучше протестировать, и это сработает.
Он просто заявляет, что «[действительный адрес электронной почты»] на самом деле не является «действительным письмом».
Поэтому мне не повезло, но теперь я знаю, что проблема связана с настройками почтовой системы сервера, а не с скриптом.
В конце концов я просто пошел на использование почтового штемпеля.
Я сталкиваюсь с этой проблемой, когда мое имя класса и мое имя функции одинаковы. Чем я изменил название функции, и она была решена. Надеюсь, это поможет кому угодно.