Php mailer - сообщение не может быть отправлено. Ошибка почтовой программы: неверный адрес: (cc):
Я использую класс PHPMailer и использую переменные $для некоторых почтовых адресов.
Проблема заключается в том, что если переменная $пуста, PHP Mailer отвечает :-
Message could not be sent. Mailer Error: Invalid address: (cc):
Часть кода выглядит следующим образом::-
$mail = new PHPMailer(true); // Passing `true` enables exceptions try { //Server settings //$mail->SMTPDebug = 2; // Enable verbose debug output $mail - > isSMTP(); // Set mailer to use SMTP $mail - > Host = 'mail.smtp2go.com'; // Specify main and backup SMTP servers $mail - > SMTPAuth = true; // Enable SMTP authentication $mail - > Username = 'xxx'; // SMTP username $mail - > Password = 'xxx'; // SMTP password $mail - > SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted $mail - > Port = 2525; // TCP port to connect to //Recipients $mail - > AllowEmpty = true; $mail - > setFrom('adrian@ic-express.co.za', 'Adrian Boshoff'); //$mail->addAddress($mrow['email']); //This is an example of creating a variable from an array field $mail - > addAddress($email); //This is an example of creating a variable from an array field $mail - > addReplyTo('adrian@ic-express.co.za'); $mail - > addCC($addemail); $mail - > AllowEmpty = true; //$mail->addBCC('adrian@ic-express.co.za'); //Attachments $mail - > addAttachment('eco.pdf'); // Add attachments //$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name $mail - > isHTML(true); // Set email format to HTML $mail - > Subject = $subject; $mail - > Body = << < END < !doctype html > < html xmlns = "http://www.w3.org/1999/xhtml" xmlns: v = "urn:schemas-microsoft-com:vml" xmlns: o = "urn:schemas-microsoft-com:office:office" > < head > <!-- NAME: SELL PRODUCTS -->
Что я уже пробовал:
Я попробовал добавить
$mail->AllowEmpty = true;
Но это не помогло.
Richard MacCutchan
При чем тут varaible $addemail
сдерживать?
Member 13840807
$addemail отправляется из формы на предыдущей странице и представляет собой поле, которое пользователь может оставить пустым, поскольку это поле CC для электронной почты. Если нет никого, кто должен быть CC'Ed int he mail, то в нем не будет размещена запись.
Я создал временное решение, присвоив полю HTML - формы значение="email@email.com" но в конечном счете хотел бы решить эту проблему.
Richard MacCutchan
Проверьте его значение и не добавляйте его в сообщение, если оно пустое.
Member 13840807
Спасибо, Ричард, я думаю, что твое предложение-это правильный путь. Мне просто нужно понять, как это закодировать, но я уверен, что мне это удастся.
Richard MacCutchan
Видеть PHP 5 строк[^].