PHP ошибка почтового домена отсутствует или искажен <EOL> - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь отправить письмо на адрес электронной почты клиента, установленный в моей базе данных.

$subject = 'Testing PHP Mail';
$txt = 'This mail is sent using the PHP mail function';
$headers = "FROM: test@gmail.com";
$query = ("SELECT email FROM ps_customer where id_customer = 2");
$result = $dbc->query($query);
$row = $result->fetch_assoc();
echo $row['email'];
$to_email = (string)$row;

//while ($row = $result->fetch_assoc()) {
//    echo $row['email'];
//    $to_email = (string)'$row <@>';
    if (mail($to_email, $subject, $txt, $headers)) {
        echo "send";
    } else {
        echo "failed";
    }

это мой код, который необходимо отправить на электронную почту из базы данных.

но когда я пытаюсь отправить его, я получаю сообщение об ошибке: : домен отсутствует или уродливы

1 Ответ

0 голосов
/ 16 ноября 2018

Вам нужен только адрес, и это единственное поле, которое вы выбираете, поэтому я бы сказал:

$query = ("SELECT email FROM ps_customer where id_customer = 2");
$result = $dbc->query($query);
$row = $result->fetch_row();
$to_email = $row[0];

Для этого не нужно использовать массив Assoc.

Вы не упомянули об этом, но отправленные вами сообщения, вероятно, будут отклонены. Вы отправляете через mail(), что означает, что вы не отправляете через серверы Gmail, но используете Gmail с адреса. Это подделка и будет означать, что ваши сообщения будут отклонены или спам-фильтра. Вы не можете решить эту проблему, используя mail() (кроме случаев, когда вы не используете gmail для своего адреса); вам нужно отправить с помощью SMTP через gmail, используя PHPMailer (с которым вы пометили этот вопрос).

...