在我看来,这是个无休止的话题...我已经阅读并重读了十几个帖子与同样的问题,我没有能够找到任何解决方案,以解决它在我的情况:例如,"Envío"显示为"Envío"在我收到的消息. 我的代码如下我已经修改了许多(许多).不同的建议,我已经找到,没有得到他们中的任何一个工作!

救命啊=(

<html lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <link href="assets/css/style.css" rel="stylesheet">
  <link href="assets/css/custom.css" rel="stylesheet">
</head>
<body>

<div class="col-md-6">
<div class="form contact-form">
        <?php
        error_reporting(0);
        $action=$_REQUEST['action']; 
        if ($action=="")    /* display the contact form */ 
        { 
        ?>
<form class="php-email-form" id="contact-form" action="<?php $_SERVER["PHP_SELF"];?>" method="POST" enctype="multipart/form-data" autocomplete="etelpmocotua">
<input type="hidden" name="action" value="submit">
<div class="form-group">
<input class="form-control" type="text" name="name" value="" size="30" placeholder="Nombre" class="form-area" autocomplete="etelpmocotua" /></div>
<div class="form-group mt-3"><input class="form-control" type="text" name="email" value="" size="30" placeholder="e-Mail" class="form-area" autocomplete="etelpmocotua" /></div>
<div class="form-group mt-3"><input class="form-control" type="text" name="phone" value="" size="30" placeholder="Teléfono" class="form-area" autocomplete="etelpmocotua" /></div>
<textarea class="form-control mt-3" name="message" placeholder="Tu mensaje" class="form-area"></textarea>
<div class="my-3"><div class="loading">Enviando...</div></div>
<div class="text-left"><button type="submit">Enviar Mensaje</button></div>
</form>

        <?php 
                }  
        else
        {
        $name=$_REQUEST['name']; 
        $email=$_REQUEST['email'];
        $phone=$_REQUEST ['phone']; 
        $message=$_REQUEST['message'];

        if (($name=="")||($email=="")||($phone=="")||($message=="")) 
        { 
        echo "<div class='error-message'><strong>Tu mensaje no pudo ser enviado</strong><br>Por favor, completá todos los campos.<br>
        <a href=\"javascript:history.back()\" target=\"_self\"><img src='assets/img/back.png' /></a></div>";
        } 

        else{
        $body .="Nuevo mensaje desde la web!\n
        Nombre: $name
        e-Mail: $email
        Telefono: $phone\n
        Mensaje:\n
        $message";
        $from .="From: 'web@mydomain.com'>\r\n Return-path: $email";
        $headers .= "Content-Type: text/html; charset=UTF-8\r\n";

        $subject .="Contacto WEB";
        mail("web@mydomain.com", $subject, $body, $from);

        echo "<div class='sent-message'>Tu mensaje ha sido enviado<br />
        y pronto será respondido.<br><br>
        <strong>Gracias por contactarnos!<strong></div>"; 
        }
        }
        ?>
</div>
</div>
</body>

推荐答案

有几点是可以微调的,或者需要纠正的

  1. 您try 在$heads中指定utf—8,但mail()中没有使用$heads
  2. 您使用的是HTML格式,但已try 使用\n(最好使用<br>)
  3. 如果您在消息中输入了回车符,它将无法在HTML中正确显示,所以最好使用nl2br来解析它

因此,修订后的守则将如下: (确保您已将your_email@your_domain.com替换为real email address以接收邮件)

<html lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <link href="assets/css/style.css" rel="stylesheet">
  <link href="assets/css/custom.css" rel="stylesheet">
</head>
<body>

<div class="col-md-6">
<div class="form contact-form">

<?php

$action=$_REQUEST['action']; 

if ($action=="")  {  ?>

<form class="php-email-form" id="contact-form" action="<?php $_SERVER["PHP_SELF"];?>" method="POST" enctype="multipart/form-data" autocomplete="etelpmocotua">
<input type="hidden" name="action" value="submit">
<div class="form-group">
<input class="form-control" type="text" name="name" value="" size="30" placeholder="Nombre" class="form-area" autocomplete="etelpmocotua" /></div>
<div class="form-group mt-3"><input class="form-control" type="text" name="email" value="" size="30" placeholder="e-Mail" class="form-area" autocomplete="etelpmocotua" /></div>
<div class="form-group mt-3"><input class="form-control" type="text" name="phone" value="" size="30" placeholder="Teléfono" class="form-area" autocomplete="etelpmocotua" /></div>
<textarea class="form-control mt-3" name="message" placeholder="Tu mensaje" class="form-area"></textarea>
<div class="my-3"><div class="loading">Enviando...</div></div>
<div class="text-left"><button type="submit">Enviar Mensaje</button></div>
</form>

<?php }  else   {
        $name=$_REQUEST['name']; 
        $email=$_REQUEST['email'];
        $phone=$_REQUEST ['phone']; 
        $message=$_REQUEST['message'];

        if (($name=="")||($email=="")||($phone=="")||($message=="")) 
        { 
        echo "<div class='error-message'><strong>Tu mensaje no pudo ser enviado</strong><br>Por favor, completá todos los campos.<br>
        <a href=\"javascript:history.back()\" target=\"_self\"><img src='assets/img/back.png' /></a></div>";
        } else{
        $body .="Nuevo mensaje desde la web!<br><br>
        Nombre: $name<br>
        e-Mail: $email<br>
        Telefono: $phone<br>Mensaje:<br><br>". nl2br($message);
        //    $headers .="From: 'web@mydomain.com'>\r\n Return-path: $email";
        //    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";

        $headers = "MIME-Version: 1.0" . "\r\n";
        $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
        $headers .= 'From: <'. $email . '>' . "\r\n";
        //$headers .= 'Cc: myboss@example.com' . "\r\n";

        $subject .="Contacto WEB";
        mail("your_email@your_domain.com", $subject, $body, $headers);

        echo "<div class='sent-message'>Tu mensaje ha sido enviado<br />
        y pronto será respondido.<br><br>
        <strong>Gracias por contactarnos!<strong></div>"; 
        }
     }
?>

</div>
</div>
</body>

注意:Envío(例如姓名)将仍然被视为Envío,如果您使用上述代码发送邮箱

Php相关问答推荐

PHP FFI—将PHP数组转换为C指针数组

Laravel迁移返回SQL错误,但SQL有效且工作正常

未在moodle上运行的计划任务

WooCommerce中仅在单一产品和产品档案页面中将小数设置为大写

Symfony Api平台:按自定义实体方式排序结果

PHP中冒号的奇怪用例

让所有具有相同名称的产品在WooCommerce中更改价格

将客户重定向到自定义感谢页后的空白页

为什么只有最后一次点击的点赞/心形会按预期改变 colored颜色 ,而其他的保持正常 colored颜色 ?

如何在Laravel Model中自定义多个日期属性的日期格式?

SFTP在PHP(phpseclib3\Net\SFTP)-过滤目录列表结果服务器端可能吗?类似于psftp中的LS命令?

WooCommerce产品页面上没有产品详细信息

Google Drive API:为什么使用服务帐户在下载文件时会将我带到 Google Drive 登录窗口?

在 WooCommerce 管理变量产品中启用其他变体图像

在 WooCommerce 我的帐户自定义部分显示未购买的产品

PHP文件如何从CSS执行

yii2 sql迁移覆盖新更改的记录

php var_dump(1) 返回字符串(4)

如何将在同一台服务器上运行的 2 个 PHP 应用程序与使用公共会话分开

getenv() 有时在 CodeIgniter 4 中返回 false.为什么?