使用 MYSQL db 中的正文通过 PHP 发送电子邮件并解析 \n
Posted
技术标签:
【中文标题】使用 MYSQL db 中的正文通过 PHP 发送电子邮件并解析 \\n【英文标题】:Sending an email via PHP with the body in MYSQL db and parsing \n使用 MYSQL db 中的正文通过 PHP 发送电子邮件并解析 \n 【发布时间】:2017-12-22 19:04:46 【问题描述】:我正在尝试通过 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】:找到答案了!必须用 stripcslashes 封装 $ticket["body"]。从这里找到:PHP: Convert single-quoted string into double-quoted
【讨论】:
以上是关于使用 MYSQL db 中的正文通过 PHP 发送电子邮件并解析 \n的主要内容,如果未能解决你的问题,请参考以下文章
将表情符号从 php Web 应用程序传递到 Oracle db 和 mysql
Android:如何在不使用 JDBC、PHP 或任何其他网络服务的情况下将数据发送到 MySQL DB? [复制]
我无法使用 php mysql 查询中的时间函数找到该行是不是已存在于 mysql db 中?