10 votes

Comment configurer un serveur SMTP sur Mac OS X ?

Je travaille avec PHP et j'ai mamp sur ma machine. Je voudrais envoyer des courriels dans mon code PHP :

<?php
 $to = "recipient@example.com";
 $subject = "Hi!";
 $body = "Hi,\n\nHow are you?";
 if (mail($to, $subject, $body)) {
   echo("<p>Message successfully sent!</p>");
  } else {
   echo("<p>Message delivery failed...</p>");
  }
 ?>

Comment configurer gratuitement un serveur de messagerie sur ma machine Mac ?

14voto

Alik Elzin - kilaka Points 4694

Les éléments suivants ont fait l'affaire. Voir la source aquí .

  1. Modifier le fichier : sudo emacs /System/Library/LaunchDaemons/org.postfix.master.plist .
  2. Ajouter <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> avant la fermeture </dict> étiquette.
  3. Exécuter sudo postfix start .

Vérifiez que SMPT est en cours d'exécution : telnet localhost 25

10voto

Devender Goyal Points 184

Option 1 :

CommandLineFu a trouvé une solution pour faire fonctionner un serveur SMTP sur le port 25 :

sudo python -m smtpd -n -c DebuggingServer localhost:25

Cela va lancer un faux serveur smtp sur votre machine locale. Il n'enverra rien, mais le transmettra à la console.

Option 2 :

Si vous n'êtes pas à l'aise avec la ligne de commande, FakeSMTP est un faux serveur SMTP gratuit avec interface graphique pour tester facilement les e-mails dans les applications. Il est écrit en Java. Il est très agréable et facile à utiliser.

[http://nilhcem.com/FakeSMTP/] [1]

0voto

Blueberry Points 696

Essayez ceci - http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm

Et si vous voulez un serveur SMTP pour envoyer du courrier sous OSX, ceci peut vous aider (je ne l'ai pas encore essayé, mais il semble qu'il pourrait faire l'affaire). http://email.about.com/cs/sendmail/gr/sendmail_enable.htm

J'espère que cela vous aidera !

0voto

0x90 Points 8193

Existe-t-il un serveur smtp que je peux installer sur linux mac ?

Envoyer du courrier depuis PHP en utilisant l'authentification SMTP - Exemple :

<?php
 require_once "Mail.php";

 $from = "Sandra Sender <sender@example.com>";
 $to = "Ramona Recipient <recipient@example.com>";
 $subject = "Hi!";
 $body = "Hi,\n\nHow are you?";

 $host = "mail.example.com";
 $username = "smtp_username";
 $password = "smtp_password";

 $headers = array ('From' => $from,
   'To' => $to,
   'Subject' => $subject);
 $smtp = Mail::factory('smtp',
   array ('host' => $host,
     'auth' => true,
     'username' => $username,
     'password' => $password));

 $mail = $smtp->send($to, $headers, $body);

 if (PEAR::isError($mail)) {
   echo("<p>" . $mail->getMessage() . "</p>");
  } else {
   echo("<p>Message successfully sent!</p>");
  }
 ?>

Envoyer du courrier depuis PHP en utilisant l'authentification SMTP et le cryptage SSL - Exemple :

<?php
 require_once "Mail.php";

 $from = "Sandra Sender <sender@example.com>";
 $to = "Ramona Recipient <recipient@example.com>";
 $subject = "Hi!";
 $body = "Hi,\n\nHow are you?";

 $host = "ssl://mail.example.com";
 $port = "465";
 $username = "smtp_username";
 $password = "smtp_password";

 $headers = array ('From' => $from,
   'To' => $to,
   'Subject' => $subject);
 $smtp = Mail::factory('smtp',
   array ('host' => $host,
     'port' => $port,
     'auth' => true,
     'username' => $username,
     'password' => $password));

 $mail = $smtp->send($to, $headers, $body);

 if (PEAR::isError($mail)) {
   echo("<p>" . $mail->getMessage() . "</p>");
  } else {
   echo("<p>Message successfully sent!</p>");
  }
 ?>

Sujets connexes :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X