-1

我向 php 函数发送了一封带有 jQ​​uery ajax 调用的电子邮件。格式为 UTF-8,电子邮件发送正常。但是在服务器函数接收到的数据($message)中,每隔大约 1000 到 1200 个字符就会增加一个新行。

例如:(“und si”和“e sich”之间的新行):

{
                "content": "Vielen war es einfach zu viel Aufwand, zu verschlüsseln. Oder sie waren einfach träge. Sie wollten nicht verschlüsseln, weil es Zeit kostete und si

e sich in etwas Neues hineindenken mussten.",

javascript代码:

var factString = JSON.stringify(fact);
$.ajax({
    type: "POST",
    url: "email.php",
    data: "json="+factString+"&thought="+currentThought,
    success: function(r){
        $('#send_thought .buttontext').html("GEDANKE WEGGESCHICKT!");
    }
});

php:

<?php

ini_set( 'default_charset', 'UTF-8' );
mb_internal_encoding('UTF-8');

if($_POST){
    $thought = $_POST['thought'];
    $message = utf8_decode($_POST['json']);

//send email
    mail("michael@primaerarbeit.de", "Gedanke ".$thought." von CP11", $message);

    print("Sent thought ".$thought."!");
}
?>
4

2 回答 2

0

我的猜测是你想使用以下内容:

JS:

$.ajax({
    type: "POST",
    url: "email.php",
    data: {
        fact: fact,
        thought: currentThought
    },
    success: function(r){
        $('#send_thought .buttontext').html("GEDANKE WEGGESCHICKT!");
    }
});

PHP:

<?php

ini_set( 'default_charset', 'UTF-8' );
mb_internal_encoding('UTF-8');

if($_POST){
    $thought = $_POST['thought'];
    $message = utf8_decode($_POST['fact']);

    //send email
    mail("michael@primaerarbeit.de", "Gedanke ".$thought." von CP11", $message);

    print("Sent thought ".$thought."!");
}
?>
于 2013-10-08T13:59:58.940 回答
0

来自 php 文档:

“包含 1000 个字符的文本行的最大总长度”(RFC 821)

我的解决方案是使用“wordwrap”:

<?php

ini_set( 'default_charset', 'UTF-8' );
mb_internal_encoding('UTF-8');

if($_POST){
    $thought = $_POST['thought'];
    $email = $_POST['email'];
    $message = utf8_decode($_POST['json']);

    $message = wordwrap($message);
    $message = str_replace("\n", "\r\n", $message);

    mail("michael@primaerarbeit.de, ".$email, "Gedanke ".$thought." von ".$email, $message);

    print("Sent thought ".$message."!");
}
?>
于 2013-12-10T17:41:21.293 回答