0

ユーザーが私のウェブメールに電子メールを送信したい場合、このコードで十分ですか? または、変更を加える必要がありますか?

<?php
$mail = $_POST['mail'];
$name = $_POST['name'];
$subject = $_POST['subject'];
$text = $_POST['text'];

  $to = "youremail@domain.com";

 $message =" You received  a mail from ".$name;
 $message .=" Text of the message : ".$text;

 if(mail($to, $subject,$message)){
echo "Your message was sent successfully.";
} 
else{ 
echo "there's some errors to send the mail, verify your server options";

}

?>
4

4 に答える 4

1

このコードは確かにあなたのために働きます。

<?php 
    $to = 'xyz@xyz.com';
    $subject = "Your Subject";
    $message ="<html><body>
    <div>Here Write Your Message</div>
    </body></html>";

    $header='';
    $header .= 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $header .= 'From: abc@abc.com'. "\r\n";

    mail($to,$subject,$message,$header);
?>

注:メール機能は、ローカルサーバーではなくライブサーバーでのみ機能します。

于 2012-12-31T10:44:13.020 に答える
1

エンコード(UTF8)を使用して電子メールにヘッダーを追加し、件名をエンコードして、ジブリッシュが発生しないようにし(たとえば、他の非ラテン文字を使用する場合)、成功したかどうかに関係なく、基本的なイベントを処理することをお勧めします。

<?php 
$name = $_POST['name'];
$text = $_POST['text'];
$from = $_POST['mail'];
$to = "youremail@domain.com";
$subject = "=?utf-8?B?".base64_encode($_POST['subject'])."?=";
$message = " You received  a mail from ".$name;
$message .= " Text of the message : ".$text;

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "To: <$to>\r\n";
$headers .= "From: $name <$from>\r\n";    

if (mail($to,$subject,$message,$headers)) {
    // Do something if the email is sent
} else {
    // Do something if there's an error
}
?>
于 2012-12-31T10:46:39.970 に答える
0

普通郵便ならこれでOKです。しかし、mail() 関数は、ループ内の大量の電子メールには適していません。この関数は、電子メールごとに SMTP ソケットを開いたり閉じたりするため、あまり効率的ではありません。大量の電子メールを送信するには、 PEAR::MailおよびPEAR::Mail_Queueパッケージを参照してください。

于 2012-12-31T10:09:57.250 に答える
-1

タイプの content-type をヘッダーに設定してメールを送信する場合、このコードでは不十分であり、メールの受信者はメールの送信者を知る必要があります。コードは以下のとおりです。

  $to = "youremail@domain.com";

 $message =" You received  a mail from ".$name;
 $message .=" Text of the message : ".$text;
 $headers = "Content-Type: text/html; charset=iso-8859-1\r\n"; 
 $headers = "From: ". Please enter the name of sender . "\r\n";

 if(mail($to, $subject,$message,$headers)){
echo "Your message was sent successfully.";
} 
else{ 
echo "there's some errors to send the mail, verify your server options";

}
于 2012-12-31T10:17:47.713 に答える