繁体   English   中英

PHP联系表格:如果不是短则不发送西里尔字母

[英]PHP contact form: cyrillic letter not being sent if it is not short

我正在网站上制作联系表格,尝试提交该表格,有两个结果:
1.我用英语写了一封电子邮件,无论它有多长,它都可以很好地发送。
2.我用俄语写的。 如果它少于10个符号-我会收到电子邮件,甚至可以正确呈现。 如果超过此时间-我将永远不会收到此电子邮件!

我的html标头包括:

  <meta charset="UTF-8" name="viewport" HTTP-EQUIV="Pragma">

我的表格:

  <form method="post" action="a.php">
    <input type="text" name="name">
    <input type="submit">
  </form>

我的a.php:

<?php

$name = $_POST['name'];

$header = "From: Hi";
$header .= "Content-Type: text/plain; charset=utf-8";

$subject = "This is letter";
$email_to = "***my email***";
$message = "Name: $name."

mail($email_to, $subject, $message, $header);

?>

请帮忙,我不知道这是为什么以及如何解决。

$subject = '=?UTF-8?B?' . base64_encode($subject) . '?='; 

PHP手册中最好解释了base64_encode()作用:

base64_encode()旨在使二进制数据在不经过8位清除的传输层(例如邮件正文)的传输中幸存下来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM