0

私は StackOverflow や他のフォーラム サイト全体を見てきましたが、自分がやっていることを達成する方法がまだわかりません。

開発中の Web サイトでパーソナライズされたメール (テキストまたは HTML) を送信したいと考えています。

私は ajax を使用して、メールのリスト、件名、および本文を送信しています。コードは次のようになります

これは.jsです

    function loadsentmail(){

var subject = document.getElementById("subject_title").value;
var content = tinyMCE.get('content').getContent();
var from = "somemail@mail.com";
var body = new Array();
body[0]=content;
$.ajax({
type:'POST',
url:'sendmail.php?mails='+mails+'&names='+names+'&idgroup='+idGrupo+'&subject='+subject+'&body='+body+'&from='+from+'&flag=1',
data: {},
            success:function(result){

                alert("Mail sent correctly");
                },
            error:function(){
                alert("Mail was not sent");
            }
});
}

これは.phpです

$to = $_GET['mails'];
$names = $_GET['names'];
$subject=$_GET['subject'];
$from = $_GET['from'];
$body = $_GET['body'];
$flag=$_GET['flag'];
$groupId=$_GET['idgroup'];
echo $flag;
$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$headers .= "From: Some Company <somemail@somemail.com>\r\n"; 
$headers .= "Reply-To: somemail@somemail.com\r\n"; 
$headers .= "Return-path: somemail@somemail.com\r\n"; 
$headers .= "Cc: somemail@somemail.com\r\n"; 
$headers .= "Bcc: somemail@somemail.com\r\n";
switch($flag)
{
case 1:
    if (mail($to, $subject,$body,$headers)) {
        echo("<p>Message successfully sent!</p>");
} 
    else {
echo("<p>Message delivery failed...</p>");
    }
break;
} 

これまでのところ、小さなボディでテストしたところうまくいきましたが、大きなhtmlファイルを貼り付けると、次のエラーが発生しました

<h1>Request-URI Too Large</h1>
<p>The requested URL's length exceeds the capacity
limit for this server.<br />
</p>

大きなボディを .js から .php に送信するベスト プラクティスは何ですか?? 私はインターネット全体で多くの検索を行いましたが、それでも答えを見つけることができます。私を助けてください:S

4

1 に答える 1