2016-05-29 5 views
1

私のPHPページから設定されているメールアドレスに送信する電子メールを取得しようとしています。PHPページからメールを送信

予想されるメールアドレスで電子メールを送受信しています。しかし、電子メール内の内容は期待どおりではありません。私はYouTubeでチュートリアルを見てからコードを得た。 $は

任意のアイデアを名前として、電子メールを見ていることは、正確に以下のコードとして表示しているとき

しかし、私の変数例えば$名の後ろに値を与えるものではありません電子メールに表示?

使用するコードは次のとおりです。

<?php 

require_once 'header.php'; 

$to = 'emailaddress '; 
$subject = 'CSG'; 

$name = $_POST['name']; 
$email = $_POST['emailaddress']; 
$message = $_POST['message']; 

$body = <<<EMAIL 

Hi $name, You have recently requested a notification of your password on the Coleg Sir Gar Loan Syste site. 

From $name 

EMAIL; 

$header = '$email'; 

if ($_POST){   
    mail($to, $subject, $body, $header); 
    $feedback = 'Email Sent'; 
} 

?> 
+0

heredoc文字列に '{$ name}'を使用しようとしています – dieend

+1

これは何をする予定ですか? '$ header = '$ email';' - RTM http://fp.net/manual/en/function.mail.php –

+0

@ Fred-ii-メールボックスに送信者として電子メールアドレスを表示します – Mucca019

答えて

3

まず、変数を使用すると、電子メールの本文内$emailではなく、メールそのものを見ている理由です、単一引用符の内側に解析されません。

$header = '$email';$header = "$email";に変更するか、引用符を完全に削除してください。

すなわち:$header = $email;

そしてヘッダがあなたを失敗しています。 From:(メールアドレス)が必要です - あなたのメールの "From"は、送信者からの(意図された)メールアドレスではなく、サーバーの名前として返されます。あなたのヒアドキュメントについて

追記:

は、マニュアルを参照してください。

メールを外出されていても、あなたはまだオープニング識別子の末尾のスペースがあります。

$body = <<<EMAIL

をし、それがParse error: syntax error, unexpected '<<' (T_SL)エラーをスローすることがあります。 http://php.net/manual/en/function.error-reporting.php


を報告

  • エラーのテストはこれはと戻ってきた:

     
    [email protected] 
    
    Hi Fred, You have recently requested a notification of your password on the Coleg Sir Gar Loan Syste site. 
    
    From Fred 
    

    との "From:" [email protected]ではなく[email protected]_mailer.xxxとして。

    dieendのコメントに記載されているように、変数{$var}を補足することもできますが、それらの有無にかかわらず、同じ結果が得られます。

    それでも動作しない場合は、開始識別子の末尾にスペースがある可能性があります。 を削除する必要があります。示すとおりに

    コピー/貼り付け:

    $body = <<< EMAIL 
    
    Hi {$name}, You have recently requested a notification of your password on the Coleg Sir Gar Loan Syste site. 
    
    From {$name} - {$email} 
    
    EMAIL; 
    
    $header = "From:" . $email; // Now you have a valid From 
    
    if ($_POST){ 
        mail($to, $subject, $body, $header); 
        echo $feedback = 'Email Sent'; 
    } 
    

    決勝ノート:

    • それはまだ、私にできない一人のために、問題が解決しない場合再現する。
+0

ありがとうフレッド、私は今、期待していたすべての作業。あなたの助けを借りて、それを見つけて解決した後、私のhtmlフォームにいくつかの問題が生じました – Mucca019

+0

@ Mucca019あなたは大歓迎です。私は助けてくれることをうれしく思いました*歓声* :-) –