web-dev-qa-db-fra.com

Configurer le serveur WAMP pour envoyer des emails

Existe-t-il un moyen de configurer le serveur WAMP pour PHP afin d'activer la fonction mail()?)?

93
user544079

Configurer un client de messagerie en fonctionnement à partir de localhost est une corvée. J'ai passé des heures de frustration à le tenter. Je suis sûr que quelqu'un de plus expérimenté pourra peut-être aider, ou sera peut-être d'accord avec moi.

Si vous souhaitez simplement tester, voici un excellent outil pour tester le courrier localement, qui ne nécessite pratiquement aucune configuration:

http://www.toolheap.com/test-mail-server-tool/

Cela a fonctionné dès le départ pour moi, espérons que cela vous aide.

197
Wesley Murch

Installez Fake Sendmail (téléchargez sendmail.Zip ). Puis configurez 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.

44
gianjey

En utilisant un appel de programme open source Send Mail , vous pouvez envoyer via wamp assez facilement. Je suis toujours en train de le configurer, mais voici un excellent tutoriel de jo jordan . Prend moins de 2 minutes à installer.

Je l’ai juste essayé et cela a fonctionné comme un charme! Une fois que j'ai supprimé le commentaire du journal des erreurs et découvert qu'il bloquait l'authentification pop3, je l'ai simplement supprimé et le message a bien été envoyé. Bonne chance!

5
David Hobs

Vous avez besoin d'un serveur SMTP pour envoyer votre courrier. Si vous en avez un disponible qui ne nécessite pas d'authentification SMTP (peut-être celle de votre FAI?), Éditez simplement le paramètre 'SMTP' ([fonction de messagerie]) dans votre fichier php.ini.

Si ce n'est pas une option car votre serveur SMTP nécessite une authentification, vous ne pourrez pas utiliser la fonction mail interne () et devrez utiliser une classe tierce prenant en charge l'authentification smtp. par exemple. http://pear.php.net/package/Mail/

2
mwallisch

J'ai essayé Test Mail Server Tool et, même si cela a bien fonctionné, vous devez toujours ouvrir l'e-mail sur un client.

J'ai trouvé Papercut : https://papercut.codeplex.com/

Pour la configuration, c'est facile comme Test Mail Server Tool (pratiquement zéro-conf), et il sert également de client de messagerie, avec des vues pour le message Message pour les emails HTML), En-têtes , Corps (pour inspecter le code HTML) et Raw (email complet non analysé).

Il comporte également une vue Sections , permettant de séparer les différents types de média trouvés dans le courrier électronique.

Il possède une interface utilisateur très propre et conviviale, une bonne visionneuse de journaux et vous avertit lorsque vous recevez un courrier électronique.

Je le trouve parfait, alors je voulais juste donner mon 2c et peut-être aider quelqu'un.

1
Fábio Duque Silva

Sendmail ne fonctionnait pas pour moi, alors j’ai utilisé msmtp 1.6.2 w32 et la plupart me contentaient de suivre les instructions de DeveloperSide . Voici un bref aperçu de la configuration pour la postérité:

Activé l'accès IMAP sous votre compte Gmail (celui à partir duquel msmtp envoie des courriels)

Activez l'accès aux applications moins sécurisées . Connectez-vous à votre compte google et allez ici

Éditer php.ini _ , recherchez et modifiez chacun des paramètres ci-dessous pour refléter les éléments suivants:

; These are commented out by prefixing a semicolon
;SMTP = localhost
;smtp_port = 25

; Set these paths to where you put your msmtp files.
; I used backslashes in php.ini and it works fine.
; The example in the devside guide uses forwardslashes. 
sendmail_path = "C:\wamp64\msmtp\msmtp.exe -d -C C:\wamp64\msmtp\msmtprc.ini -t --read-envelope-from"

mail.log = "C:\wamp64\msmtp\maillog.txt"

Créez et éditez le fichier msmtprc.ini dans le même répertoire que votre msmtp.exe fichier comme suit, en le remplaçant par votre propre adresse électronique et votre mot de passe:

# Default values for all accounts
defaults
tls_certcheck off
# I used forward slashes here and it works.
logfile C:/wamp64/msmtp/msmtplog.txt

account Gmail
Host smtp.gmail.com
port 587
auth on
tls on
from [email protected]
user [email protected]
password ReplaceWithYourPassword
account default : gmail
1
iyrin

J'ai utilisé Mercury/32 et Pegasus Mail pour obtenir le mail () fonctionnel. Cela fonctionne très bien aussi comme serveur de messagerie si vous voulez une adresse email se terminant par votre nom de domaine.

0
ZeldaBoy