php - PHP 邮件错误域丢失或格式错误
问题描述
我正在尝试向我的数据库中设置的客户电子邮件发送邮件。
$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";
}
这是我需要将电子邮件发送到数据库中的电子邮件的代码。
但是当我尝试发送它时,我收到错误::域丢失或格式错误
解决方案
您只需要地址,这是您要获取的唯一字段,所以我会选择:
$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 作为您的发件人地址)来解决此问题;您需要使用 PHPMailer 通过 gmail 使用 SMTP 发送(您用它标记了这个问题)。
推荐阅读
- python - Matplotlib/Cartopy:set_ticks() 接受 2 个位置参数,但给出了 3 个
- flutter - 如何将 typedef 用于列表列表?
- c# - XUnit 根据环境更改参数
- python-3.x - 检查字符串 A 是否是另一个字符串 B 的子字符串的字谜
- python - 如何解释 LSA 模型的输出?
- acumatica - Acumatica - 引发多个错误/异常
- typescript - Sinon 存根函数不能与函数内部的函数一起使用
- flutter - Cubit State 不会在 BottomSheet 内刷新
- postgresql - PostgreSQL 中的外键过滤
- c# - 无法让 Identity Server 4 API 授权其自己的端点,而是发送登录页面