Php Gmail show在邮件详细信息中永久移动

Php Gmail show在邮件详细信息中永久移动,php,gmail,amazon-ses,Php,Gmail,Amazon Ses,我通过php代码发送电子邮件。 我使用api Aws\Ses\SesClient发送电子邮件 这是我的代码: 函数sendOrderInfoToCustomer$sTo{ $ch=curl\u init$this->sMainUrl./content\u email\u order\u info.php?orderID=.$this->iOrderID; curl_setopt$ch,CURLOPT_RETURNTRANSFER,true; curl_setopt$ch,CURLOPT_BINA

我通过php代码发送电子邮件。 我使用api Aws\Ses\SesClient发送电子邮件

这是我的代码:

函数sendOrderInfoToCustomer$sTo{ $ch=curl\u init$this->sMainUrl./content\u email\u order\u info.php?orderID=.$this->iOrderID; curl_setopt$ch,CURLOPT_RETURNTRANSFER,true; curl_setopt$ch,CURLOPT_BINARYTRANSFER,true; $sContentOrderInfo=curl\u exec$ch; curl_close$ch; $SSObject=$this->oPublicFunction->getSiteName.[.$this->oPublicFunction->parseFormatTimed/m/Y H:IA,time.]; $this->oPublicFunction->sendMailAWS$sTo、$ssObject、$sContentOrderInfo; } 函数sendMailAWS$sTo、$ssobject、$sBody{ 全局$aws\u访问密钥,$aws\u机密访问密钥,$aws\u来源; $client=Aws\Ses\SesClient::factoryarray '版本'=>'最新', '地区'=>'美国东部-1', “凭据”=>数组 “密钥”=>$aws\u访问密钥, 'secret'=>aws\u secret\u access\u key ; $request=数组; $request['Source']=$aws\u from; $request['Destination']['toaddress']=array$sTo; $request['Message']['Subject']['Data']=$ssobject; $request['Message']['Body']['Html']['Data']=$sBody; 试一试{ $result=$client->sendmail$request; $messageId=$result->get'messageId'; //已发送回音邮件!邮件ID:$messageId。\n; }捕获异常$e{ 未发送电子邮件。错误消息:; echo$e->getMessage。\n; } } 发送邮件就是成功。但我在gmail上查看邮件,我发现邮件不好


请帮我修复它。

这不是电子邮件的结果,而是您的CURL在构建邮件正文时从您自己的服务器获得的内容。您可能只需要告诉curl遵循重定向:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

然而,你可能有一个更严重的问题。您的应用程序通常不应该使用对自身的web请求。电子邮件内容应通过呈现订单模板的内部方法调用创建,而不是通过调用网页创建。在这里,您似乎已经打开了整个web的订单详细信息页面。也就是说,网络上的任何人都可以点击content\u email\u order\u info.php?orderID=123获取任何订单的详细信息,因为那里没有进行身份验证。这可能是一个非常严重的安全漏洞。

感谢您的回复。我会检查并尝试修复它。