在php中发送电子邮件时删除反斜杠

时间:2013-10-02 03:31:33

标签: php email

我正在尝试使用以下代码发送电子邮件

$mess00 = "Store Email: " . $storeEmail . "\r\n"; 
...         
$message = $mess00 . "<br \><br \>" . $mes1 . "<br \><br \>" . $mess0 . "<br \>" . $mess1 . "<br \>" . $mess2 . "<br \>" .  $mess3;

$message = "<html><body><p>".$message."</p></body></html>";
try {
$this->Mail($storeEmail, $subject, $message);

现在假设商店名称为StackOver's Inc。 ,在电子邮件中,我得到StackOver\'s Inc.如何在收到电子邮件时将其删除。

P.S这些名称存储在数据库中。

2 个答案:

答案 0 :(得分:1)

在发送邮件之前,您需要使用stripslashes()删除反斜杠。

$clean_message = stripslashes ($message);
$this->Mail($storeEmail, $subject, $clean_message);

答案 1 :(得分:1)

这意味着数据库中的数据已经错误。在插入时,您已启用magic_quotes_gpc;此功能在5.3中已弃用,并且在5.4中已完全删除,但旧版本仍默认启用它。

如果您无法升级安装,请阅读this article,了解如何在现有环境中禁用魔术引号。

修复上述内容后,您仍需修复所有受影响的数据库条目;您可以通过加载每条记录来执行此操作,应用stripslashes()并再次保存。