“垃圾邮件过滤器的PHP编译器复杂性”-f";

“垃圾邮件过滤器的PHP编译器复杂性”-f";,php,smtp,phpmailer,email-headers,envelope,Php,Smtp,Phpmailer,Email Headers,Envelope,我的客户托管服务不接受从发件人地址开头没有“-f”的网站发送的电子邮件。这与他们最近添加的一个传出垃圾邮件过滤器有关 官方答复是: “发件人数据信封”缺少某些元素 我使用phpmailer,在使用SMTP身份验证之前,一切正常 但是现在使用phpmailer,这不起作用 $mail->From = 'me@test.com'; 也不起作用 $mail->From = '-f me@test.com'; 它显然是无效的,不是一个好看的电子邮件地址 我

我的客户托管服务不接受从发件人地址开头没有“-f”的网站发送的电子邮件。这与他们最近添加的一个传出垃圾邮件过滤器有关

官方答复是:

“发件人数据信封”缺少某些元素

我使用phpmailer,在使用SMTP身份验证之前,一切正常

但是现在使用phpmailer,这不起作用

$mail->From         = 'me@test.com';
也不起作用

$mail->From         = '-f me@test.com';
它显然是无效的,不是一个好看的电子邮件地址

我可以让邮件像这样发送:

mail('me@test.com', 'the subject', 'the message', null, '-f me@test.com');
但这不是phpmailer,这是花园式php函数。因此,我试图让PHPmailer以某种方式自动向FROM添加“-f”


我是否应该调整类文件以避免这种情况?卡住了

你的交通工具搞乱了<
mail()
函数中的code>-f是传递给底层sendmail二进制文件的一个附加参数,用于设置邮件的信封发送者(正式来说,它后面不应该有空格,如
-fme@test.com
)。但是,当您通过SMTP发送时,它不适用,因为您可以使用
Sender
属性控制该参数。您应该这样做:

$mail->Sender = 'me@test.com';
如果您使用SMTP发送,它将使用该邮件作为信封发送者(作为SMTP
MAIL FROM
命令的内容),如果您通过
isMail()
isSendmail()
传输发送,它将通过-f属性设置发送者


还要确保您使用的是来自GitHub的最新PHPMailer。

您的传输混乱了<
mail()
函数中的code>-f是传递给底层sendmail二进制文件的一个附加参数,用于设置邮件的信封发送者(正式来说,它后面不应该有空格,如
-fme@test.com
)。但是,当您通过SMTP发送时,它不适用,因为您可以使用
Sender
属性控制该参数。您应该这样做:

$mail->Sender = 'me@test.com';
如果您使用SMTP发送,它将使用该邮件作为信封发送者(作为SMTP
MAIL FROM
命令的内容),如果您通过
isMail()
isSendmail()
传输发送,它将通过-f属性设置发送者


还要确保您使用的是来自GitHub的最新PHPMailer。

您的传输混乱了<
mail()
函数中的code>-f是传递给底层sendmail二进制文件的一个附加参数,用于设置邮件的信封发送者(正式来说,它后面不应该有空格,如
-fme@test.com
)。但是,当您通过SMTP发送时,它不适用,因为您可以使用
Sender
属性控制该参数。您应该这样做:

$mail->Sender = 'me@test.com';
如果您使用SMTP发送,它将使用该邮件作为信封发送者(作为SMTP
MAIL FROM
命令的内容),如果您通过
isMail()
isSendmail()
传输发送,它将通过-f属性设置发送者


还要确保您使用的是来自GitHub的最新PHPMailer。

您的传输混乱了<
mail()
函数中的code>-f是传递给底层sendmail二进制文件的一个附加参数,用于设置邮件的信封发送者(正式来说,它后面不应该有空格,如
-fme@test.com
)。但是,当您通过SMTP发送时,它不适用,因为您可以使用
Sender
属性控制该参数。您应该这样做:

$mail->Sender = 'me@test.com';
如果您使用SMTP发送,它将使用该邮件作为信封发送者(作为SMTP
MAIL FROM
命令的内容),如果您通过
isMail()
isSendmail()
传输发送,它将通过-f属性设置发送者


另外,请确保您使用的是GitHub最新的PHPMailer。

您能告诉我在isMail()和isSendmail()上可以获得的任何文档吗?我一直没有使用这些,但邮件仍然发送-不确定这些设置的含义。这些设置上的API文档是,但没有太多-它们比
isSMTP()
复杂得多,但是您可以在源代码中看到,它们都使用了
-f
参数和
Sender
属性。您能给我指一下在isMail()和isSendmail()上可以获得的任何文档吗?我一直没有使用这些,但邮件仍然发送-不确定这些设置的含义。这些设置上的API文档是,但没有太多-它们比
isSMTP()
复杂得多,但是您可以在源代码中看到,它们都使用了
-f
参数和
Sender
属性。您能给我指一下在isMail()和isSendmail()上可以获得的任何文档吗?我一直没有使用这些,但邮件仍然发送-不确定这些设置的含义。这些设置上的API文档是,但没有太多-它们比
isSMTP()
复杂得多,但是您可以在源代码中看到,它们都使用了
-f
参数和
Sender
属性。您能给我指一下在isMail()和isSendmail()上可以获得的任何文档吗?我一直没有使用这些,但邮件仍然发送-不确定这些设置的含义。这些设置上的API文档是,但没有太多-它们比
isSMTP()
复杂得多,但是您可以在源代码中看到,它们都使用了
-f
参数和
Sender
属性。