0

指定した特定のアドレスにメールを送信する Web ページに php フォームがあります。そのメールを gmail、hotmail、その他のオンライン メール サービスで見ると、すべて問題なく動作します。分音記号に問題はなく、問題なく表示できますšđžćč

しかし、Outlook に届くように設定されたメール アドレスを入力すると、発音区別記号が奇妙な記号として表示されますĹžÄĹĄĹžÄ

Gmail から Outlook に送信されるアドレスにメールを転送しようとしても、同じことが起こります。Outlook の文字コードを に設定しましたUTF-8が、フォームも同じです。

これは Outlook 内の奇妙な不具合ですか、それともフォームで何か間違ったことをしたのでしょうか?

どんな助けでも大歓迎です。

編集:

HTMLにフォームがあります:

<?php
//If the form is submitted
if(isset($_POST['submit'])) {

    //Check to make sure that the name field is not empty
    if(trim($_POST['contactname']) == '') {
        $hasError = true;
    } else {
        $name = trim($_POST['contactname']);
    }

    //Check to make sure that the subject field is not empty
    if(trim($_POST['subject']) == '') {
        $hasError = true;
    } else {
        $subject = trim($_POST['subject']);
    }

    if(trim($_POST['goaddress']) == '') {
        $hasError = true;
    } else {
        $goaddress = trim($_POST['goaddress']);
    }

     if(trim($_POST['toaddress']) == '') {
        $hasError = true;
    } else {
        $toaddress = trim($_POST['toaddress']);
    }

    if(trim($_POST['date']) == '') {
        $hasError = true;
    } else {
        $date = trim($_POST['date']);
    }

     if(trim($_POST['time']) == '') {
        $hasError = true;
    } else {
        $time = trim($_POST['time']);
    }

    //Check to make sure sure that a valid email address is submitted
    if(trim($_POST['email']) == '')  {
        $hasError = true;
    } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
        $hasError = true;
    } else {
        $email = trim($_POST['email']);
    }

    //If there is no error, send the email
    if(!isset($hasError)) {
        $emailTo = 'random.mail@gmail.com'; //Put your own email address here
        $body = "Ime i prezime: $name \n\nEmail: $email \n\nTelefon: $subject \n\nPolazišna adresa: $goaddress \n\nOdredišna adresa: $toaddress \n\nDatum: $date \n\nVrijeme: $time";
        $headers = 'From: RANDOM NAME <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;

        mail($emailTo, $subject, $body, $headers);
        $emailSent = true;
    }
}
?>

そして、次の要素を持つすべてのページ (ドロップダウン フォーム) で自分の html に呼び出す forma.php という別の .php ファイルがあります。

<div class="float-form">
<div class="slideToggler2" style="float;left; z-index: 100;position: absolute; cursor:pointer;">
    <img style="pointer:cursor;" src="../images/naruci_en.png"  />
</div>
    <div class="slideContent2" style="display:none; z-index: 10;position: absolute;top:20px; ">


<div class="wrapp">
    <div id="contactWrapper_en" role="form" >

        <?php if(isset($hasError)) { //If errors are found ?>
            <p class="error">Please check if you have filled out all the fields, and try again. Thank you.</p>
        <?php } ?>

        <?php if(isset($emailSent) && $emailSent == true) { //If email is sent ?>
            <div class="success">
                <p><strong>Email sent successfully!</strong></p>
                <p>One of our agents will contact you in a little while.</p>
            </div>
        <?php } ?>

        <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contactform">
            <div class="stage clear">
                <label for="name"><strong>Full name: <em>*</em></strong></label>
                <input type="text" name="contactname" id="contactname" value="" class="required" role="input" aria-required="true" />
            </div>

            <div class="stage clear">
                <label for="email"><strong>Email: <em>*</em></strong></label>
                <input type="text" name="email" id="email" value="" class="required email" role="input" aria-required="true" />
            </div>

            <div class="stage clear">
                <label for="subject"><strong>Telephone: <em>*</em></strong></label>
                <input type="text" name="subject" id="subject" value="" class="required" role="input" aria-required="true" />
            </div>
            <div class="stage clear">
                <label for="goaddress"><strong>Starting address: <em>*</em></strong></label>
                <input type="text" name="goaddress" id="goaddress" value="" class="required" role="input" aria-required="true" />
            </div>
            <div class="stage clear">
                <label for="toaddress"><strong>Destination: <em>*</em></strong></label>
                <input type="text" name="toaddress" id="toaddress" value="" class="required" role="input" aria-required="true" />
            </div>
             <div class="stage clear">
                <label for="date"><strong>Date of departure: <em>*</em></strong></label>
                <input type="text" name="date" id="date" value="" class="required" role="input" aria-required="true" />
            </div>
             <div class="stage clear">
                <label for="time"><strong>Time of departure: <em>*</em></strong></label>
                <input type="text" name="time" id="time" value="" class="required" role="input" aria-required="true" />
            </div>

            <p class="requiredNote"><em>*</em> Required</p>

            <input type="submit" value="Send Message" name="submit" id="submitButton_en" title="Send the order!" />

        </form>

    </div>


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

検証jqueryサインアップフォームもあります...

4

1 に答える 1

0

文字エンコーディングを設定したり、メール本文で MIME がどう考えるかを心配したりする必要はありません。それは災害のレシピです。

Swiftmailerのようなものを使用して修正してください。これにより、MIME チャンクを簡単かつ簡単に構築できます。文字エンコーディングを適切に設定することで、ほとんどの問題に取り組むことができます。

于 2013-01-03T08:00:02.497 に答える