PHP邮件错误域丢失或格式错误<eol>

时间:2018-11-16 08:58:18

标签: php mysql email phpmailer heidisql

我正在尝试向数据库中设置的客户发送电子邮件。

$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 :(得分:1)

您只需要地址,这是您要获取的唯一字段,所以我会选择:

var actualField = scriptContext.form.getField(actualFieldName);
var options = actualField.getSelectOptions();
var integrationFieldValue = scriptContext.newRecord.getValue(integrationFieldName);
if (options.indexOf(integrationFieldValue) > -1) {
scriptContext.newRecord.setText({
                fieldId: actualFieldName,
                text: integrationFieldValue
            });
}

无需为此使用assoc数组。

您没有提到它,但是您发送的消息可能会被拒绝。您是通过$query = ("SELECT email FROM ps_customer where id_customer = 2"); $result = $dbc->query($query); $row = $result->fetch_row(); $to_email = $row[0]; 发送的,这意味着您不是通过gmail的服务器发送的,而是您使用的是来自地址的gmail。这是伪造的,这意味着您的邮件将被退回或过滤垃圾邮件。您无法使用mail()解决此问题(除非不使用gmail作为发件人地址);您将需要send using SMTP via gmail using PHPMailer(使用该问题标记了该问题)。