2

XAMPP 1.7.3から1.8.0にアップグレードしました。これには、開発環境の再インストールを行ったときに、かなりの数の変更(PHP 5.4など)が含まれていました。とにかく、Sendmailを除いて、すべてが機能するようになりました。以前は、sendmail.iniに次のような構成がありました。

#defaults
logfile "C:\XAMPP\sendmail\sendmail.log"

## A freemail service example
account Hotmail
tls on
tls_certcheck off
host smtp.live.com
from [exampleuser]@testmail.loc
auth on
user [exampleuser]@hotmail.com
password [examplepassword]

# Set a default account
account default : Hotmail

さらに、php.iniのいくつかの値:

sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"
SMTP = localhost
smtp_port = 25

今ではすべてが大きく異なって見えます(そして古い設定は機能しません)、例:http: //pastebin.com/M83bNmJw

小さなphpメールスクリプト:

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
 $to = "someone@hotmail.com";
 $subject = "Hi!";
 $body = "Hi,\n\nHow are you?";
 if (mail($to, $subject, $body)) {
   echo("<p>Message successfully sent!</p>");
  } else {
   echo("<p>Message delivery failed...</p>");
  }
?>

メッセージの配信に失敗しました...私は愚かすぎて正しいものを変更できないと思います。それは機能しません。さらに、ログファイルにほとんどエラーが表示されないため、どこから始めればよいのかさえわかりません。

4

4 に答える 4

1
 #GMAIL mit XAMPP 1.8.1 und sendmail
[CODE]
[sendmail]
; HOTMAIL
smtp_server=smtp.gmail.com
smtp_port=25
smtp_ssl=tls
tls_certcheck off
error_logfile=error.log
debug_logfile=debug.log
auth_username= xxxx.xxxx@gmail.com
auth_password=xxxxxxx


 this settings in php.ini   
 [mail function]
    ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
    ; SMTP = smtp.gmail.com
    ; smtp_port = 25

    ; For Win32 only.
    ; http://php.net/sendmail-from
    sendmail_from = xxxx.xxxx@gmail.com

    ; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesC:\xampp) fakemail and mailtodisk do not work correctly.
    ; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.  

    ; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
    sendmail_path = "\"C:\sendmail\sendmail.exe\" -t"

    ; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
    ;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"

    ; Force the addition of the specified parameters to be passed as extra parameters
    ; to the sendmail binary. These parameters will always replace the value of
    ; the 5th parameter to mail(), even in safe mode.
    ;mail.force_extra_parameters =

    ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
    mail.add_x_header = Off

    ; Log all mail() calls including the full path of the script, line #, to address and headers
    mail.log = "C:\xampp\php\logs\php_mail.log"
于 2012-11-05T05:54:24.197 に答える
0

1.8.0では、デフォルトでmailtodisk.exeを介してメールが送信されることがわかります。PHP構成ファイルで有効にしましたが、mailtodisk.exeを無効にしましたか?

さらに、smtp_serversendmail.iniでがに設定されていることを確認する必要がありますlocalhost

私はこの解決策を自分で見つけました。PHPを使用して送信されたすべてのメールは機能します。

于 2012-09-09T09:58:17.870 に答える
0

私のxamppはウィンドウ8.1で1.8.2です

php.iniで

    smtp_port = 587
    sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"
    mail.add_x_header=Off

sendmail.iniで

    smtp_server=smtp.gmail.com
    smtp_port=587
    smtp_ssl=auto
    error_logfile=error.log
    auth_username=xxaayy@gmail.com
    auth_password=kskcmhlrjr

    pop3_server=
    pop3_username=
    pop3_password=

    force_sender=xxaayy@gmail.com
    force_recipient=
    hostname=

Gmailの「auth_password」をアカウントにするには、新しいパスワード「アプリケーション固有のパスワード」を作成する必要があります。[こちら][1]を確認してください

次に、次の手順に従います。

問題は、sendmailを管理者として実行する必要があることです。これは私の状況で誰をも助けるための解決策です。

  1. sendmail.exeを右クリックします
  2. プロパティ
  3. 互換性
  4. すべてのユーザーの構成を変更します
  5. Windows XPSP3として実行する
  6. 管理者として実行する
  7. テストメール

    $to = "aaaaaaa@domain.com";
    $subject = "Hi!";
    $body = "Hi,\n\nHow are you?";
    $headers = "From: xxaayy@gmail.com" . "\r\n";
    if (mail($to, $subject, $body, $headers)) {
       echo ("Message successfully sent!");
    } else {
       echo ("Message delivery failed...");
    }
    
于 2014-05-26T05:31:21.520 に答える
-1

私は実用的な例を見つけました、それは今魅力のように機能します

http://blog.joergboesche.de/xampp-sendmail-php-mailversand-fuer-windows-konfigurieren#xampp_180_sendmail

于 2012-09-10T14:41:56.070 に答える