Member 13840807 Ответов: 1

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 строк[^].

1 Ответов

Рейтинг:
2

Mukesh Jakhar

Попробуй вот так

$mail->addCC('example@example.com');

для получения полного кода перейдите по этой ссылке
Как отправить почту с помощью php mailer с вложением - PHPKIDA[^]