2

邮件通过正常,但链接如下所示:x-msg://63/'www.something.com/'

$from_user = $_POST["fromuser"];
$subject = $_POST["subject"];

$headers = "From: $from_user <{$_POST['fromemail']}>\r\n". 
               "MIME-Version: 1.0" . "\r\n" . 
               "Content-type: text/html; charset=UTF-8" . "\r\n" .  "X-Mailer: PHP/" . phpversion();

     if(mail($_POST["toemail"], $_POST["subject"], wordwrap(urldecode($_POST["ebody"]),70), $headers)){
     ...
     }

和服务器有关吗?

正文代码:

$this->ebody = "<html><head><title>" . $this->subject . "</title></head><body>
<img src='$imageurl' height='65px'><p><strong>AUTOMATED ORDER FORM.</strong>

</p>Please do not reply this message.<p>" . $body . "</p><hr>All Rights Reserved.<br><a href='http://www.something.com'>Company Name.</a></body></html>";

生成的电子邮件(原始来源):

> To: ###@gmail.com Subject: New Order - 14/06/12 MIME-Version: 1.0
> Content-type: text/html; charset=utf-8 X-Priority: 3 X-Mailer:
> PHP5.2.9 From: KSONE <noreply.ksone@something.com> Reply-To: Sales
> <sales@something.com>
> 
> 
> <html><head><title></title></head><body><img
> src=\"http://www.something.com/imgs/logo.png\"
> height=\'65px\'><p><strong>AUTOMATED VENDOR ORDER
> FORM.</strong></p>Please do not reply this message 027777777<p>Hello
> World!</p><hr>1/76 All Rights Reserved 12120.<br><a
> href=\'http://www.something.com\'>Company Co., Ltd.</a></body></html>
4

2 回答 2

9

AFAIKx-msg://是 Mail.app 预先添加到所有没有有效方案的链接的占位符方案。换句话说,您的链接可能看起来像://foo/bar或类似的东西,在这种情况下 Mail.app 插入x-msg以生成完整、有效的 URI。

修复应用中的链接以发送完整、有效的 URL。

于 2012-06-14T12:51:18.787 回答
1

已解决:这是因为我在问题中遗漏了一些东西。我在启用邮件的远程服务器上创建了一个 API,本地脚本通过 CURL 发出 POST 请求。认为 CURLs 请求顺利通过,输出电子邮件被错误地转义。这是因为我没有对我的 POST 变量执行 urlencode 导致疯狂的事情发生。

于 2012-06-15T17:21:08.907 回答