0

メイト、私はこのphpコードを持っています:

$emailTo = 'proyectogoyapatrimonio@gmail.com';
$subject = "Firma // Salvemos el Goya";
$name=$_REQUEST['nombre'];
$apellido=$_POST['apellido'];
$dni=$_POST['dni'];
$email=$_POST['mail'];
$msg=$_POST['msg'];

$ask = "INSERT INTO firmas(nombre,apellido,dni,email,created_at) VALUES('".htmlentities($name)."','".htmlentities($apellido)."','".$dni."','".$email."','".date("Y-m-d H:i:s")."')";
if(mysql_query($ask,$conn)){
    $body = "<html>\n";
    $body .="<head></head>\n";
    $body .="<body>\n";
    $body .="<h4>Firma ProyectoGoya</h4><br/>\n";
    $body .="<h5>Datos:</h5>\n";
    $body .="<b>Nombre Completo:</b> ".$name." ".$apellido." <br/>\n";
    $body .="<b>E-mail:</b> ".$email." <br/>\n";
    $body .="<b>DNI:</b> ".$dni." <br/>\n";
    $body .="</body>\n";
    $body .= "</html>\n";

    $headers = "From: \"".$name."\" <$email>\n";
    $headers .= "To: \"Proyecto Goya\" <".$emailTo.">\n";
    $headers .= "Return-Path: <".$email.">\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: text/HTML; charset=ISO-8859-1\n"; 

    echo $headers."<br/>";

    mail($emailTo, $subject, $body, $headers);
}else{
    echo "Imposible salvar registro en DB.\n Intente nuevamente. \n Si el error persiste, contacte al proovedor del servicio.";
}   

さて、すべての変数が必要なPOSTリクエストをこのphpに送信すると、次のエラーが発生します。

Warning: mail() [function.mail]: SMTP server response: 554 Debe utilizar como remitente una cuenta de correo v�lida. in \\hmfsw\web\DTC001\proyectogoya.org\public_html\send.php on line 36

私は$headersをエコーし​​ました、そして私はこれを手に入れます:

From: "Pablo" To: "Proyecto Goya" Return-Path: MIME-Version: 1.0Content-Type: text/HTML; charset=ISO-8859-1

ご覧のとおり、ヘッダーに「from」メールが印刷されていません。なぜそれが起こるのか、何か考えはありますか?

ありがとう!

4

1 に答える 1

0

コードをより良くする:

送信する電子メールに、ヘッダーとチェンジャーのリターン パスがあることを確認してください。

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'Return-Receipt-To: '.$email.'\r\n'; 

$headers .= 'To: Proyecto Goya <'.$emailTo.'>\r\n';
$headers .= 'From: '.$name.' <'.$email.'>' . '\r\n';

エラー 554 の場合は、php.ini ファイルを変更してみてください。

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
;sendmail_from = admin@localhost

または試してみてください

[mail function]
; For Win32 only.
SMTP = smtp.srv.net
smtp_port = 25

; For Win32 only.
;sendmail_from = from@srv.net
于 2013-02-28T18:31:44.300 に答える