Я пытаюсь отправить письмо на адрес электронной почты клиентов, установленный в моей базе данных.
$subject = 'Testing PHP Mail';
$txt = 'This mail is sent using the PHP mail function';
$headers = "FROM: [email protected]";
$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";
}
это мой код, который необходимо отправить на электронную почту из базы данных.
но когда я пытаюсь отправить его, я получаю сообщение об ошибке: : домен отсутствует или
бесформенный
Вам нужен только адрес, и это единственное поле, которое вы выбираете, поэтому я бы сказал:
$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 (что вы пометили этот вопрос).
Других решений пока нет …