可以请一些人解释我如何使用sd_journal_sendv系统调用? 我尝试使用下面的代码片段,但输入字符串被journald解释为BLOB。
MESSAGE=[92B blob data]
MESSAGE_ID=[89B blob data]
PRIORITY=[91B blob data]
我分别为MESSAGE,MESSAGE_ID和PRIORITY写了“Hello world!”,52fb62f99e2c4,5。但在期刊中,我可以看到它们被写成BLOB。
<!Doctype html>
<html>
<head>
<title>feedback email php</title>
</head>
<body>
<form action="feedback.php" method="post">
<br>Name:<br>
<input type="text" name="username" size="30">
<br>Email:<br>
<input type="email" name="usermail" size="30">
<br>Message:<br>
<textarea name="feedback" cols="30" rows="5"></textarea>
<br>
<input type="submit" value="Sendmail">
</form>
</body>
</html>
//php file
<?php
$username=$_POST['username'];
$usermail=$_POST['usermail'];
$feedback=$_POST['feedback'];
$to="m.nawazchurahi001@gmail.com"; //we can replace email with our damain email
$sub="test mail";
$msg=$feedback;
ini_set('SMTP', "localhost");
ini_set('smtp_port', "25");
ini_set('sendmail_from', "m.nawazchurahi001@gmail.com");
mail($to,$sub,$msg);
echo "Thanks for your feedback";
echo "<br>";
echo "Message Receive from:";
echo $username;
echo "<br>";
echo "Reply to:";
echo $usermail;
?>
答案 0 :(得分:0)
您没有在.iov_len
中传递字段的大小。这将导致50字节的bufs在末尾包含垃圾。 journalctl
将其显示为blob数据,因为它是无效的UTF-8。