我的邮件功能返回成功,并且邮件中有法式重音时未收到邮件

诺拉特

因此,我有一个脚本,可以从网页上的表单发送邮件。用户只需输入他的邮件地址,消息和他的名字。

首先,我将邮件发送到我的联系地址。(这工作正常)之后,我将邮件发送到用户的邮件地址。(这不起作用)

最后一个邮件功能返回成功,但用户没有邮件。

我尝试记录所有内容,但无法弄清楚为什么可能发送了邮件却没有收到邮件。

当我体内带有“ repondons”之类的法国口音时,邮件不会发送,但当它只是“ repondons”时,邮件仍然有效。我不明白为什么,但是带重音会更好

<?php
    // site owner
    $site_name = 'just-request.fr';
    $sender_domain = '[email protected]';
    $to = '[email protected]';


    // contact form fields
    $name = trim( $_POST['name'] );
    $email = trim( $_POST['email'] );
    $subject = trim( $_POST['subject'] );
    $message = trim( $_POST['message'] );


    // check for error
    $error = false;

    if ( $name === "" ) { $error = true; }

    if ( $email === "" ) { $error = true; }

    if ( $subject === "" ) { $error = true; }

    if ( $message === "" ) { $error = true; }


    // if no error, then send mail
    if ( $error == false )
    {
        $body = "Name: $name \n\nEmail: $email \n\nMessage: $message";

        $headers = "From: " . $site_name . ' <' . $sender_domain . '> ' . "\r\n";
        $headers .= "Reply-To: " . $name . ' <' . $email . '> ' . "\r\n";

        $mail_result = mail( $to, utf8_decode($subject), utf8_decode($body), $headers );

        if ( $mail_result == true )
        {
            $body = "Bonjour,\n\n";
            $body .= "Merci de votre mail, nous le prenons en compte et vous repondrons des que possible.\n\n";
            $body .= "Cordialement,\n";
            $body .= "L'equipe Request. ";

            $subject = "Réponse automatique";

            $new_mail_result = mail( $email, utf8_decode($subject), utf8_decode($body), $headers );

            if ( $new_mail_result == true )
            {
                echo 'success';
            }
            else
            {
                echo 'unsuccess';
            }
        }
        else
        {
            echo 'unsuccess';
        }
    }

    else
    {
        echo 'error';
    }

安菲

尝试使用mb_send_mail()代替mail()
mb_language()设置German/deISO-8859-15)或English/enISO-8859-1)。
无论ISO-8859-15ISO-8859-1包括法国多余的字母。欧元升级后,
ISO-8859-15ISO-8859-1

https://www.php.net/manual/zh/function.mb-send-mail.php

发送电子邮件。标头和消息根据mb_language()设置进行转换和编码这是mail()的包装函数,因此,有关详细信息,另请参见mail()


评论:我错过了引号可打印编码的UTF-8的mb_language()选项对于大多数(欧洲)“几乎ASCII ”语言特定的字母来说,这将是很好的

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP Mailer 返回 true 但未收到电子邮件

具有多个收件人和不同内容的PHP邮件表单:有时未收到

从Bootstrap框架发送电子邮件我的错误是我收到消息是邮件发送成功,但是我没有收到任何邮件

Google附近的邮件:未收到任何邮件

Google Apps邮件未收到来自自己域的邮件

邮件帐户中未收到ion auth忘记密码邮件

postfix + dovecot配置,未收到邮件

未收到使用 Cloud Functions 发送的邮件

PHP邮件未收到表格数据

greenmail服务器未收到邮件

Plesk,未收到传入电子邮件

在Skype中发送的邮件未收到

没有收到邮件

Jenkins电子邮件通知已成功发送但未收到

为什么 gmail 在导入邮件时不询问 IMAP 信息?因为我没有收到电子邮件

我的Postfix收到邮件时无法触发我的php脚本

php 显示消息已发送但未收到到我的电子邮件

Laravel 收到邮件发送成功信息

我无法使用Java Mail API发送电子邮件,但电子邮件已发送但未收到或未显示在已发送的电子邮件中

带有 Laravel 的 Plesk PHP 电子邮件未收到 DKIM 签名

添加到 Graph 中的组后,所有者未收到电子邮件

PHPmail-Contact表单未收到邮件且没有错误

ActionMailer在日志中发送邮件没有问题,但收件箱中未收到

Fedora Linux:我安装了sendmail,但是现在登录时没有收到邮件通知

收到电子邮件时收到更新

Laravel 5.5:未收到密码重置链接邮件

PHP联系表格,未收到电子邮件

Cakephp电子邮件已发送但未收到

未收到 Hellosign 多个签名者电子邮件