通过PHP发送电子邮件与MYSQL db中的正文并解析\ n

时间:2017-12-22 19:04:46

标签: php mysql phpmailer

我正在尝试通过PHP发送电子邮件,电子邮件正文存储在MYSQL数据库中。出于某种原因,当我将主体硬编码为字符串时,它将“\ n”之类的字符转换为段落,但是当它从MYSQL数据库中提取时,它会留下“\ n”。任何人都知道为什么会这样以及如何解决它?我已经尝试将其转换为字符串,但无济于事。

代码:

    $stmt = $conn->prepare("SELECT * FROM Tickets LIMIT 1");
    $stmt->execute();
    while($ticket = $stmt->fetch(PDO::FETCH_ASSOC)) {
        $ticket_queue_id = $ticket["ticket_queue_id"];
        $subject = "test";
        $body = $ticket["body"];
        $headers = "From: Email";
        mail($recipient,$subject,$body,$headers);
        echo "Sent test";
    }

“Tickets”是一个MYSQL表,其中$ ticket [“body”]存储为varchar。

在电子邮件中,上面的代码在正文中提供了“Hello \ n \ world”,

虽然

        $subject = "test";
        $body = $ticket["body"];
        $headers = "From: Email";
        mail($recipient,$subject,$body,$headers);

看起来像:

“你好

世界“

谢谢!

1 个答案:

答案 0 :(得分:0)

找到答案!必须使用stripcslashes封装$ ticket [" body"]。从这里找到:PHP: Convert single-quoted string into double-quoted