Le compte My ISP
Nécessite que j'envoie un nom d'utilisateur et un mot de passe pour le courrier sortant SMTP
.
Comment faire pour que PHP
l'utilise lors de l'exécution de php.mail()?
Le fichier php.ini
Ne contient que des entrées pour le serveur (SMTP= )
Et From: (sendmail_from= )
.
La commande PHP mail()
ne prend pas en charge l'authentification. Vos options:
J'applique les détails suivants sur le fichier php.ini. ça marche bien.
SMTP = smtp.example.com
smtp_port = 25
username = [email protected]
password = yourmailpassord
sendmail_from = [email protected]
Ces détails sont les mêmes que pour les paramètres Outlook.
Utilisez Fake sendmail for Windows pour envoyer un courrier.
sendmail
dans C:\wamp\
.sendmail
: sendmail.exe
, libeay32.dll
, ssleay32.dll
et sendmail.ini
.C:\wamp\sendmail\sendmail.ini
:smtp_server=smtp.gmail.com smtp_port=465 [email protected] auth_password=your_password
Ce qui précède fonctionnera contre un compte Gmail. Et puis configurez php.ini:
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
Maintenant, redémarrez Apache, et c’est tout ce que vous devez faire.
PHP a a l'authentification sur la commande mail!
Ce qui suit fonctionne pour moi sur 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 = [email protected]
Je préfère l'outil PHPMailer car il ne nécessite pas de PEAR. Mais de toute façon, vous avez un malentendu: vous ne voulez pas de paramètre PHP-server pour l’utilisateur et le mot de passe SMTP. Cela devrait être un paramètre par application (ou par page). Si vous souhaitez utiliser le même compte sur différentes pages PHP, ajoutez-le à un type de fichier settings.php.
Après avoir travaillé toute la journée, j'ai finalement trouvé une solution. Voici comment j'envoie de Windows XP avec WAMP.
<?php $message = "test message body"; $result = mail('[email protected]', 'message subject', $message); echo "result: $result"; ?>
Référence:
/etc/postfix/main.cf
lire:#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
, entrer:smtp.server.net username:password
Type # /usr/sbin/postmap sasl_passwd
Puis lancez: service postfix reload
Maintenant PHP lancera le courrier comme d’habitude avec le sendmail -t -i
commande et Postfix va l’intercepter et le relayer sur votre serveur SMTP que vous avez fourni.
Utilisez Mail :: factory dans le package Mail PEAR. Exemple.
Ces réponses sont obsolètes et amorties. Meilleur entrainement..
composer require phpmailer/phpmailer
La prochaine sur votre fichier sendmail.php nécessite juste ce qui suit
# 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 = "[email protected]";
$mail->FromName = "Full Name";
//To address and name
$mail->addAddress("[email protected]", "Recepient Name");
$mail->addAddress("[email protected]"); //Recipient name is optional
//Address to which recipient will reply
$mail->addReplyTo("[email protected]", "Reply");
//CC and BCC
$mail->addCC("[email protected]");
$mail->addBCC("[email protected]");
//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";
}
Cela peut être configurer comme vous le souhaitez ..
"SMTP = localhost",
"smtp_port = 25",
"; sendmail_path =".
Crédit: Comment configurer WAMP (localhost) pour envoyer des emails en utilisant Gmail?
Considérant une réponse dans cette question , Dans PHP 4 le PEAR) est généralement déjà installé, et ce tutoriel très simple montre vous les quelques lignes de code que vous devez ajouter à votre fichier php http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm