2010-03-02 4 views
4

J'utilise la fonction mail() pour envoyer des e-mails depuis PHP sans aucune authentification.toute fonction php pour envoyer des e-mails sans courrier()

Cette fonction ne fonctionne que sur mon serveur Web, mais ne fonctionne pas sur une machine locale.

Je cherche la meilleure fonction PHP pour envoyer un e-mail avec l'authentification qui fonctionnerait sur une machine sans modifier le php.ini

je suis en utilisant PHP avec IIS et Windows

grâce

Répondre

3

Une autre possibilité est d'installer mail et net_smtp via pear.

pear install Mail 
pear install Net_Smtp 

alors vous avez la possibilité d'envoyer du courrier avec l'authentification SMTP vers un autre serveur:

require_once "Mail.php"; 

$body = "Mein Mail Body\n"; 
$subject = "Mail mit SMTP Authentifizierung"; 
$mail_to = "[email protected]"; 
$mail_from = "[email protected]"; 

//SMTP Verbindungsdaten 
$host = "smtp.meinemailserver.de"; 
$username = "phpmailer"; 
$password = "SuperGeheim"; 

$smtp = Mail::factory('smtp', 
array (
'host' => $host, 
'auth' => true, 
'username' => $username, 
'password' => $password 
)); 

$headers = array (
'From' => $mail_from, 
'To' => $mail_to, 
'Subject' => $subject 
); 
$mail = $smtp->send($mail_to, $headers, $body); 

if (PEAR::isError($mail)) { 
echo "Fehler beim Versender der E-Mail : ". $mail->getMessage(); 
} 

(prise de http://www.jgeppert.com/2009/06/php-e-mail-mit-smtp-authentifizierung-versenden/)

+0

J'utilise PHP avec IIS et windows ..... – air

+0

Une autre façon est de configurer le php.ini – Aurril

+0

Vous pouvez installer PEAR sur Windows ainsi: Dans votre dossier d'installation de PHP devrait être un fichier batch nommé "go-pear.bat" Utilisez ce fichier pour installer pear. – Aurril

1

Vous devriez exécuter un smtp server local. Cela laissera mail() juste fonctionner tant que ce programme est en cours d'exécution. Il y a d'autres serveurs similaires qui vont écrire du courrier dans un fichier, donc aucun courrier ne sort réellement sur l'environnement de développement.

Mail() est la voie à suivre pour l'envoi de courrier. vous avez juste un problème de configuration localement: D

+0

J'ai trouvé que cela fonctionne même sans un serveur smtp ... ce qui semble un peu étrange maintenant je pense à ce sujet! –

+0

Peut-être OSX est livré avec un ... –

0

Si tout ce que vous avez besoin est un serveur SMTP de travail pour tester en votre propre boîte, exécutez ce petit gars sur votre boîte afin que vous puissiez tester le courrier sans modifier votre code de gestion du courrier.

http://www.softstack.com/freesmtp.html (serveur smtp simple, autonome gratuit)

0

J'ai eu ce problème plus tôt cette semaine, et a trouvé SwiftMailer. J'ai seulement entendu de bonnes choses à ce sujet. Ça a bien marché pour moi. Il peut envoyer par SMTP, sendmail ou mail(). Pour le développement local, vous devez vous connecter à un serveur SMTP, que vous exécutez localement ou un serveur externe.

0

Vous pouvez utiliser la bibliothèque phpmailer, passer par ce phpbailer tutorial, changer le nom d'utilisateur, le mot de passe, l'adresse De et À. Profitez d'envoyer des emails.

Questions connexes