私は次のコードに少し問題があります。 "Send"をクリックすると、PHP警告:mail()[function.mail]: "sendmail_from"がphp.iniに設定されていないか、カスタム "From:"ヘッダーがCにありません:** * .com **もし(メール($に、$メッセージ、$:\ライン21" 上のmail.phpPHPメール機能が動作しません(jQuery/php)
<?php
$mail = $_POST['mail'];
$name = $_POST['name'];
$text = $_POST['messaggio'];
$ip = $_SERVER['REMOTE_ADDR'];
$to = "[email protected]****.com";
$message = "E-mail received from: ".$name.", ".$mail.".<br />";
$message .= "Messaggio: <br />".$text."<br /><br />";
$message .= "IP: ".$ip."<br />";
$headers = "From: $mail \n";
$headers .= "Reply-To: $mail \n";
$headers .= "MIME-Version: 1.0 \n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1 \n";
if(mail($to, $message, $headers)){
echo "<h6>Message sent.</h6>";
}
else{
echo "<h6>Ops! We've got a problem! :(</h6>";
}
?>
言及したラインがある
$(document).ready(function(){
$("#send").click(function(){
var valid = '';
var isr = ' requested.</h6>';
var name = $("#name").val();
var mail = $("#email").val();
var messaggio = $("#message").val();
if (name.length<1) {
valid += '<h6>A valid name is'+isr;
}
if (!mail.match(/^([a-z0-9._-][email protected][a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
valid += '<h6>A valid e-mail address is'+isr;
}
if (valid!='') {
$("#re").fadeIn("slow");
$("#re").html("<h6><b>Error:</b></h6>"+valid);
$("#re").css("background-color","#ffc0c0");
}
else {
var datastr ='name=' + name + '&mail=' + mail + '&messaggio=' + encodeURIComponent(messaggio);
$("#re").css("display", "block");
$("#re").css("background-color","#FFFFA0");
$("#re").html("<h6>Sending..</h6>");
$("#re").fadeIn("slow");
setTimeout("send('"+datastr+"')",2000);
}
return false;
});
});
function send(datastr){
$.ajax({
type: "POST",
url: "mail.php",
data: datastr,
cache: false,
success: function(html){
$("#re").fadeIn("slow");
$("#re").html(html);
$("#re").css("background-color","#e1ffc0");
setTimeout('$("#re").fadeOut("slow")',2000);
}
});
}
そしてPHP
これはjQueryのです」ヘッダー)){"しかし、私はエラーを理解していない。
私は別のウェブサイト(別のドメイン)でも同じコードを使用していますが、問題なく実行できます。
あなた自身のMIMEメッセージを生成すべきではありません。 PHPMailerまたはSwiftmailer(それらのためのGoogle)を使用し、詳細を処理させます。電子メールヘッダーを正しく取得するのは難しく、適切に生成していません。 –
は 'ini_set(" sendmail_from "、" [email protected] ");'作業しますか? –
また、 '\ n \ 'の代わりに' \ r \ n'を使ってみてください。ヘッダーの分離にはCRとLFの両方が使われています。 – Basic