php.ini と SMTP= - ユーザー名とパスワードを渡す方法
質問
My ISP
アカウントでは送信用にユーザー名とパスワードを送信する必要があります SMTP
郵便。
どうすれば入手できますか PHP
実行時にこれを使用するには php.mail()?
の php.ini
ファイルにはサーバーのエントリのみが含まれています (SMTP= )
そして From: (sendmail_from= )
.
解決
PHP mail()
コマンドは認証をサポートしていません。オプション:
- PHPメーラー- チュートリアル
- 梨 - チュートリアル
- カスタム関数 - メモ セクションのさまざまなソリューションを参照してください。 http://php.net/manual/en/ref.mail.php
他のヒント
php.ini ファイルに次の詳細を適用します。それはうまくいきます。
SMTP = smtp.example.com
smtp_port = 25
username = info@example.com
password = yourmailpassord
sendmail_from = info@example.com
これらの詳細は Outlook の設定と同じです。
使用 Windows用の偽のsendmail メールを送信します。
- という名前のフォルダーを作成します
sendmail
でC:\wamp\
. - これら 4 つのファイルを解凍します
sendmail
フォルダ:sendmail.exe
,libeay32.dll
,ssleay32.dll
そしてsendmail.ini
. - 次に設定します
C:\wamp\sendmail\sendmail.ini
:
smtp_server=smtp.gmail.com smtp_port=465 auth_username=user@gmail.com auth_password=your_password
上記は Gmail アカウントに対して機能します。次に、php.ini を設定します。
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
ここで、Apache を再起動します。基本的に行う必要があるのはこれだけです。
PHP する メールコマンドで認証を行ってください!
以下はWAMPSERVER(Windows、php 5.2.17)で機能します。
php.ini
[mail function]
; For Win32 only.
SMTP = mail.yourserver.com
smtp_port = 25
auth_username = smtp-username
auth_password = smtp-password
sendmail_from = you@yourserver.com
私は PHPメーラー PEAR を必要としないツールです。しかし、どちらにしても、あなたには誤解があります。SMTP ユーザーとパスワードを PHP サーバー全体に設定する必要はありません。これはアプリごと (またはページごと) の設定である必要があります。異なる PHP ページ間で同じアカウントを使用したい場合は、それを何らかの settings.php ファイルに追加します。
一日中これに取り組んだ後、ついに解決策を見つけました。ここでは、WAMP を使用して Windows XP から送信する方法を示します。
- Google の SMTP サーバーを使用します。おそらくアカウントが必要です。
- ダウンロードとインストール 偽の送信メール. 。ダウンロードして解凍し、WAMP フォルダーに入れました。
- テスト用のPHPファイルを作成します。以下を参照してください。
<?php $message = "test message body"; $result = mail('recipient@some-domain.com', 'message subject', $message); echo "result: $result"; ?>
- php.ini ファイルと sendmail.ini ファイルを更新します (sendmail.ini は sendmail フォルダーにあります)。
- 機能しない場合は、作成したばかりの sendmail フォルダー内の error.log ファイルを確認してください。
参照:
- Postfix (Sendmail 互換) をインストールします。
- 編集
/etc/postfix/main.cf
読む:
#Relay config
relayhost = smtp.server.net
smtp_use_tls=yes
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_sasl_security_options = noanonymous
- 作成する
/etc/postfix/sasl_passwd
, 、 入力:
smtp.server.net username:password
タイプ #
/usr/sbin/postmap sasl_passwd
次に、次を実行します。
service postfix reload
これで、PHP は通常どおりメールを実行します。 sendmail -t -i
コマンドと Postfix はそれをインターセプトし、指定した SMTP サーバーに中継します。
Mail PEAR パッケージの Mail::factory を使用します。 例。
これらの回答は時代遅れであり、価値がありません。ベストプラクティス..
composer require phpmailer/phpmailer
sendmail.php ファイルの次の部分には次のものが必要です。
# use namespace
use PHPMailer\PHPMailer\PHPMailer;
# require php mailer
require_once "../vendor/autoload.php";
//PHPMailer Object
$mail = new PHPMailer;
//From email address and name
$mail->From = "from@yourdomain.com";
$mail->FromName = "Full Name";
//To address and name
$mail->addAddress("recepient1@example.com", "Recepient Name");
$mail->addAddress("recepient1@example.com"); //Recipient name is optional
//Address to which recipient will reply
$mail->addReplyTo("reply@yourdomain.com", "Reply");
//CC and BCC
$mail->addCC("cc@example.com");
$mail->addBCC("bcc@example.com");
//Send HTML or Plain Text email
$mail->isHTML(true);
$mail->Subject = "Subject Text";
$mail->Body = "<i>Mail body in HTML</i>";
$mail->AltBody = "This is the plain text version of the email content";
if(!$mail->send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent successfully";
}
これは好きなように設定できます。
一つの答えを考えると、 この質問, PHP 4 では、通常、PEAR Mail パッケージがすでにインストールされており、この非常に簡単なチュートリアルでは、php ファイルに追加する必要がある数行のコードを示します。 http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm
- 最新のものをインストールする hメールサーバー. 。最後のステップで「hMailServer Administrator を実行」します。
- 「ローカルホスト」に接続します。
- 「ドメインを追加...」
- 「127.0.0.1」を設定します。 「ドメイン」として、「保存」をクリックします。
- 「設定」>「プロトコル」>「SMTP」>「メールの配信」
- 「ローカルホスト名」として「localhost」を設定し、 「SMTP リレー」セクションにデータを入力します。, 、「保存」をクリックします。
- 「設定」 > 「詳細」 > 「IP 範囲」 > 「マイコンピュータ」
- 「SMTP 認証が必要」グループの「外部から外部の電子メール アドレスへ」チェックボックスをオフにします。
- php.ini を変更した場合は、次の 3 つの値を書き換えます。
"SMTP = ローカルホスト",
"smtp_port = 25",
"; sendmail_path = "。
クレジット: Gmail を使用して電子メールを送信するように WAMP (localhost) を設定するにはどうすればよいですか?