2016-04-02 29 views
2

localhostから電子メールを送信しようとしていますが、使用しているプログラムはMAMPです。私はこれをオンラインで調べ、書かれたすべてを実行しましたが、これはまだ機能しません。私は電子メールを送信するために私のPHPファイルに入力した機能は次のとおりです。以下に示すようにローカルホストからの電子メールの送信

mail(
    $admin_email, $messaage, 
    'Works!', 


    'An email has been generated from your localhost, congratulations!'); 

さらに、私はすべての送信メール値を記入しています明らかに

smtp_server=smtp.gmail.com 
; smtp port (normally 25) 

smtp_port=25 
smtp_ssl=ssl 
auth_username=****@gmail.com 
auth_password=******* 

hostname=localhost 

- 私のメールアドレスとパスワードは、私のメールアドレスとパスワードを使って記入してください。示すように、また、私は、php.iniファイルを変更した:私のエラーがどこにある

; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 
;http://php.net/sendmail-path 
sendmail_path = C:\Windows\System32\sendmail\ -t -i -f [email protected] 

誰かが私に言うことはできますか?

+0

これらのコードを使用して、チェックメールについて

を変更し保存スパム対策としてポート25宛ての発信トラフィックを送信します。 ** smtp_port = 257 **通常はブロックされていない代替SMTPポート587に** smtp_port = 25 **を変更してください。** smtp_port = 587 ** –

+0

これを試しました...まだ動作していません:( – chris

+0

sslもコメントアウトしてみてください –

答えて

2

mail()機能がSSL or TLS authentication, which is requiredを実行しないため、GoogleのSMTPサーバー経由で送信できません。詳細については、this answerを参照してください。代わりにPHPMailerクラスの使用を検討する必要があります。

また、mail()を誤って使用していることにご注意ください。あなたは持っています

mail(
$admin_email, $messaage, 
'Works!', 
'An email has been generated from your localhost, congratulations!'); 

2番目の引数は件名で、3番目はメッセージでなければなりません。第四の引数はオプションで、余分なメールヘッダを含むと考えられる:

additional_headers(オプション)

文字列は、電子メールヘッダの最後に挿入されます。

これは通常、余分なヘッダー(From、Cc、およびBcc)を追加するために使用されます。複数の余分なヘッダーは、CRLF(\r\n)で区切る必要があります。外部データを使用してこのヘッダーを構成する場合は、不要なヘッダーを挿入できないようにデータをサニタイズする必要があります。

使用しているような平文メッセージではありません。適切にフォーマットされたヘッダーがあるはずのプレーンテキストを追加すると、一部のサーバーや一部のメールリーダーが壊れる可能性があります。

0

あなたがsmtp_port=25を使用している場合は、smtp_ssl=noneを変更したり、この

smtp_port=587 
smtp_ssl=tls 

を使用する必要があなたのメールアカウントはGmailアカウントから

アクセスをこれらの設定を変更しました。ギアツール>設定>転送 とPOP/IMAP> IMAPアクセスをクリックします。「IMAPを有効にする」をクリックし、その後、あなたの は、あなたのISPはおそらくブロックして、ホームネットワークからこれを実行している場合

<?php 
 
$to  = '[email protected]'; 
 
$subject = 'Fake sendmail test'; 
 
$message = 'If we can read this, it means that our fake Sendmail setup works!'; 
 
$headers = 'From: [email protected]' . "\r\n" . 
 
      'Reply-To: [email protected]' . "\r\n" . 
 
      'X-Mailer: PHP/' . phpversion(); 
 

 
if(mail($to, $subject, $message, $headers)) { 
 
    echo 'Email sent successfully!'; 
 
} else { 
 
    die('Failure: Email was not sent!'); 
 
} 
 
?>

+0

あなたのsendmailパスを確認してください。** sendmail_path = "\" C:\ xampp \ sendmail \ sendmail.exe \ "-t" ** –

関連する問題