mail de php sur MAMP
J'ai besoin de tester un script à l'aide de PHP mail. Je aimerais être en mesure d'obtenir enfin ce travail localement. J'utilise MAMP. Est-il un moyen de faire cela sans avoir à installer de logiciel tiers?
J'ai fait quelques recherches sur ce sujet, mais n'ai rien trouvé attrayant.
Grâce
- N'importe lequel de ces travaux pour vous?
- La meilleure option serait d'utiliser SMTP.
Vous devez vous connecter pour publier un commentaire.
Vous êtes précisément en train de tester l'envoi de mail, ou êtes-vous tester le reste du code?
Dans le cas de l'ancien, vous devez configurer:
dans votre php.fichier ini (vérifier où il en est avec phpinfo()), en substituant les valeurs appropriées.
Pour tester le code, autres que le processus d'envoi de mail, alors je vous recommande de créer 2 fichiers:
et pour tester d'autres code
Et inclure les informations pertinentes à votre test.
Noter que le test de l'intégration avec le serveur SMTP et le test deliverbility de votre code est assez complexe, mais doit être réalisée indépendamment de test de votre PHP.
C.
Vous pourriez envisager de l'Swift Mailer bibliothèque
http://swiftmailer.org/
Il fait faire par courriel à partir du code PHP beaucoup plus fiable. Vous pourriez même point de votre logiciel de courrier script pour un véritable service SMTP. Ceci peut éliminer un grand nombre de questions que vous pourriez exécuter en cas de déplacement, local pour les environnements de production.
L'utilisation de swift mailer est aussi simple que d'utiliser un seul inclure dans le haut de votre script PHP, et l'écriture d'un bloc de code pour envoyer un message simple. Et il est entièrement orienté objet.
Il ya quelques mois j'ai eu un problème similaire, tout en développant sur ma machine locale d'une application qui a impliqué l'automatisation de l'envoi de notifications par email. J'ai perdu assez de temps à installer Sendmail sur OSX et finalement je ne pourrais pas obtenir le droit de travailler..
Mon approche a été d'utiliser la POIRE Mail comme un remplacement temporaire pour php natif de la fonction mail. Fondamentalement, vous pouvez définir une fonction appelée envoyez-mail (voir code ci-dessous) et, une fois que vous déployez votre application sur un serveur, vous pouvez éventuellement remplacer les appels à cette fonction, avec des appels à mail().
ce que je fais c'est d'utiliser le la classe phpmailer (avertissement: site horribles !) et de préciser un vrai serveur de smtp sur lequel j'ai un compte. Donc je ne pas utiliser mail (), mais l'utilisation de smtp. De cette façon, il n'est pas question de savoir si je suis sur mon serveur local ou sur le serveur réel. Mais vous avez besoin d'un travail smtp accès à ce serveur de messagerie smtp. Le mieux serait d'utiliser effectivement le serveur de messagerie de production (celui qui sera utilisé par votre application quand il s'en va vivre). De cette manière, vous n'aurez pas de surprise de dernière minute, quand vous découvrez que le serveur de courrier bousille le champ répondre à et petites choses comme ça.
Vous pouvez utiliser votre compte gmail et envoyer votre test des e-mails via gmail serveur SMTP.
Vous pouvez utiliser la classe phpmailer (http://phpmailer.worxware.com/) pour ce faire. Il y a une base de gmail exemple dans les exemples/dossier lorsque vous téléchargez cette classe.
Je pense que la meilleure solution est de les écrire tous les messages dans le fichier. Donc, vous avez juste besoin de faire propre sendmail.
ajouter à httpd.conf le fichier de chaînes:
php_admin_value sendmail_path
"/Applications/MAMP/somefolder/mysendmail.sh"
Dans le fichier mysendmail.sh ajoutez ce qui suit:
#!/bin/bash
tout lire en ligne
faire
echo "$ligne" >> ../mail_log.txt
fait
echo "------------- prochain mail ----------------" >> ../mail_log.txt
exit 0
Ne pas oublier de mettre privilégies: chmod 755 mysendmail.sh