私はPHPを学んでいて、私のコンピューターにXamppをインストールしました。
しかし、メールオプションが機能していないように見えるため、セットアップに問題があります。
いくつかの読書をした後、私はそれが私のサーバーのphp.iniファイルにある以下と関係があると思います
[mail function]
; For Win32 only.
; *hp://*php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = postmaster@localhost
[ハイパーリンクを投稿するこのウェブサイトの制限のため、上記のhp://をhttp://から変更したことに注意してください]
変更する必要があるものはありますか?前述のswiftmailerなどのソフトウェアを見たことがありますが、Xamppにこれがすでに含まれているかどうかわかりませんか?どんなヒントでも大歓迎です!
ありがとうジェームス
私のお気に入りのsmtpサーバーは hMailServer です。
素敵なWindowsフレンドリーインストーラーとウィザードがあります。私が今までセットアップした中で最も簡単なメールサーバーを伝えます。
Gmail/yahoo/etcアカウントを介してプロキシするか、直接メールを送信できます。
一度インストールされると、xamppの電子メールは設定変更なしで機能します。
XAMPPには「偽の」sendmailプログラムが付属しているはずです。その場合、sendmailも使用できます。
[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
; http://php.net/smtp-port
;smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected]
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "C:/xampp/sendmail/sendmail.exe -t -i"
Sendmailにはsendmail.ini
それと;次のように構成する必要があります。
# Example for a user configuration file
# Set default values for all following accounts.
defaults
logfile "C:\xampp\sendmail\sendmail.log"
# Mercury
#account Mercury
#Host localhost
#from postmaster@localhost
#auth off
# A freemail service example
account ACCOUNTNAME_HERE
tls on
tls_certcheck off
Host smtp.gmail.com
from EMAIL_HERE
auth on
user EMAIL_HERE
password PASSWORD_HERE
# Set a default account
account default : ACCOUNTNAME_HERE
もちろん、ACCOUNTNAME_HEREを任意のアカウント名に置き換え、EMAIL_HEREを有効なメール(GmailやHotmailなど)に置き換え、PASSWORD_HEREをメールのパスワードに置き換えます。これで、メールを送信できるはずです。 Apacheを(コントロールパネルまたはバッチファイルから)必ず再起動して、PHPへの変更を有効にします。
ローカルコンピューターにメールサーバーをセットアップしていない限り、SMTP = localhostを設定しても効果はありません。
(昔)SMTPの値をISPのSMTPサーバーのアドレスに設定するだけで十分でした。ほとんどのISPはユーザー名とパスワードを使用した認証を要求するため、これはほとんど機能しません。ただし、PHP mail()関数はSMTP認証をサポートしていません。ローカルサーバーのメールトランスポートエージェントと直接連携するように設計されています。
ローカルメールサーバーを設定するか、Zend_MailやPHPMailerなどのSMTP認証をサポートするPHPクラスを使用する必要があります。ただし、最も簡単な解決策は、メール処理スクリプトをリモートサーバー。