正在分析包含垃圾字符的电子邮件地址


E-mail parsing addresses with junk characters

我通过我编码的表单发送电子邮件,出于某种原因,在某些情况下,电子邮件地址会变成垃圾邮件,而在其他情况下,它可以正常工作。

//on form page
$message = str_replace("@e",$emtemail,$message);

$message存储在SQL中(在另一个页面上定义),$emtemail也是如此$消息只是发送的电子邮件的主体,我将用人们发送付款的电子邮件替换@e的所有实例。它向客户发送一封电子邮件,向我发送一封邮件。

//customer e-mail
//the display address might appear as payment52.62gmail.com instead of payment@gmail.com
//my e-mail
//all e-mail addresses formatted properly without error, @ appears as @

为什么电子邮件地址解析奇怪?与编码有关?

这就是我所掌握的所有与发送电子邮件相关的代码。我无法准确指出问题所在。

//any variables used in the below but not declared are previously initialized
$em = $userc["email"];
$subject = $emailone["subject"];
$subject = str_replace("@o",$ordernum,$subject);
$subject = str_replace("@u",htmlspecialchars($rn),$subject);
$subject = str_replace("@g",$gt,$subject);
$subject = str_replace("@sl","www.SZVapor.com",$subject);
$subject = str_replace("@ss","SZVapor.com",$subject);
$subject = str_replace("@st","SZVapor",$subject);
$message = nl2br($emailone["message"]);
$message = str_replace("@o",$ordernum,$message);
$message = str_replace("@u",htmlspecialchars($rn),$message);
$message = str_replace("@t",$table,$message);
$message = str_replace("@e",$emtemail,$message);
$message = str_replace("@g",$gt,$message);
$message = str_replace("@a",$addrsubmit,$message);
$message = str_replace("@sl","www.SZVapor.com",$message);
$message = str_replace("@ss","SZVapor.com",$message);
$message = str_replace("@st","SZVapor",$message);
$message = str_replace("@c",$em,$message);
$headers = "MIME-Version: 1.0"."'r'n";
$headers .= "Content-type: text/html; charset=iso-8859-1"."'r'n";
$headers .= "From: no-reply@SZVapor.com";
mail($em, $subject, $message, $headers);

给出的一些电子邮件地址示例:

payment62.44gmail.com
payment54.45gmail.com
payment22.59gmail.com
payment25.49gmail.com

http://php.net/manual/en/function.mail.php

邮件的第一个参数条目是电子邮件地址。

上面的代码对$em 没有任何作用

顺便说一下,我认为最后一行标题应该是这样的:

$headers .= "From: no-reply@SZVapor.com" . "'r'n";

我解决了这个问题,这是我的一个错误。我用变量替换了某些字符组合的所有实例。

@g = replaced with grand total
@e = replaced with payment e-mail
@o = replaced with order number
etc

我做它们的顺序是这样的,我用电子邮件代替了@epayment@gmail.com,然后用总额替换所有@g,因此付款*@g*mail.com变成了"payment".$grandtotal."mail.com"

相关文章: