2017-03-12 10 views
0

以下はphpですが、htmlは持っていますが、私のメールに情報を送信しません。 php.iniファイルの設定と何か関係があるように感じます。私は私の編集も含めます。アイデアがあれば、大変感謝しています! php.iniで私のPHPは私の電子メールに連絡フォームの詳細を送信しません

は、以下の修飾:

SMTP = outlook.office365.com

sendmail_from = [email protected]

HTML:

<form method="POST" action="email-sender.php" id="contact-form-with-recaptcha" class="margin-clear" role="form"> 
    <div class="form-group has-feedback"> 
     <label for="name">Name*</label> 
     <input type="text" class="form-control" id="name" name="name" placeholder=""> 
     <i class="fa fa-user form-control-feedback"></i> 
    </div> 
    <div class="form-group has-feedback"> 
     <label for="email">Email*</label> 
     <input type="email" class="form-control" id="email" name="email" placeholder=""> 
     <i class="fa fa-envelope form-control-feedback"></i> 
    </div> 
    <div class="form-group has-feedback"> 
     <label for="subject">Subject*</label> 
     <input type="text" class="form-control" id="subject" name="subject" placeholder=""> 
     <i class="fa fa-navicon form-control-feedback"></i> 
    </div> 
    <div class="form-group has-feedback"> 
     <label for="message">Message*</label> 
     <textarea class="form-control" rows="6" id="message" name="message" placeholder=""></textarea> 
     <i class="fa fa-pencil form-control-feedback"></i> 
    </div> 
    <input type="submit" value="Submit" class="submit-button btn btn-default"> 
</form> 

PHP:

<?php 
session_cache_limiter('nocache'); 
header('Expires: ' . gmdate('r', 0)); 
header('Content-type: application/json'); 

$Recipient = '[email protected]'; // <-- I had put my email here 

if($Recipient) { 

    $Name = filter_var($_POST['name'], FILTER_SANITIZE_STRING); 
    $Email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL); 
    $Subject = filter_var($_POST['subject'], FILTER_SANITIZE_STRING); 
    $Message = filter_var($_POST['message'], FILTER_SANITIZE_STRING); 

    $Email_body = ""; 
    $Email_body .= "From: " . $Name . "\n" . 
        "Email: " . $Email . "\n" . 
        "Subject: " . $Subject . "\n" . 
        "Message: " . $Message . "\n" . 

    $Email_headers = ""; 
    $Email_headers .= 'From: ' . $Name . ' <' . $Email . '>' . "\r\n". 
         "Reply-To: " . $Email . "\r\n"; 

    $sent = mail($Recipient, $Subject, $Email_body, $Email_headers); 

    if ($sent){ 
     $emailResult = array ('sent'=>'yes'); 
    } else{ 
     $emailResult = array ('sent'=>'no'); 
    } 

    echo json_encode($emailResult); 

} else { 

    $emailResult = array ('sent'=>'no'); 
    echo json_encode($emailResult); 

} 
?> 

これはうまくいくと思ったが、間違いをしたかもしれない。あなたが気づいていることがあれば、それは大いに感謝されるでしょう!

+0

このコードはサーバーまたはローカルマシンで実行していますか?あなたのsmtpとsendmailの設定を確認してください。 –

+0

@Pramod localhostです。私はsmtpとsendmailの設定をどうやって設定するのかがはっきりしていませんでした。私は質問に示されているようにphp.iniファイルでそれを変更しましたが、私はそれを正しく行ったかどうかわかりませんでした。 – Binary111

+0

私はあなたに以下のスニペットを与えました。あなたのEメールIDとパスワードでphp.iniの変更を行ってください。 –

答えて

0

Gmailを使用してlocalhost経由でメールを送信できます。あなたの電子メールIDとパスワードを使ってsendmailのphp.iniを設定してください。

smtp_server=smtp.gmail.com 
    smtp_port=25 
    error_logfile=error.log 
    debug_logfile=debug.log 
    [email protected] 
    auth_password=gmailpassword 

注:変更後、サーバーを再起動してください。 [email protected]

+0

このコードはちょうど私のPHPファイルに貼り付けられますか? – Binary111

+0

これらの行が表示されます。コメントしています。 smtp_serverキーワードでphp.iniを検索し、行のコメントを外してメールやパスワードのような独自の値を設定してください –

+0

このスニペットはphp.iniファイルにありますか? – Binary111

関連する問題