How to setup an SMTP server on Mac OS X?

2020-06-17 03:11发布

I work with PHP and I have mamp on my machine. I would like to send emails within my PHP code:

<?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>");
  }
 ?>

How can I configure a mail server for free on my mac machine ?

4条回答
一夜七次
2楼-- · 2020-06-17 03:37

Are there any smtp server i can install on linux mac ?

Sending Mail from PHP Using SMTP Authentication - Example:

<?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>");
  }
 ?>

Sending Mail from PHP Using SMTP Authentication and SSL Encryption - Example:

<?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>");
  }
 ?>

Related topics:

查看更多
Viruses.
3楼-- · 2020-06-17 03:38

Option 1:

CommandLineFu had this one liner to run an SMTP server on port 25:

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

This will run a fake smtp server on your local machine. It won't send anything, but will dump it to the console.

Option 2:

Incase, you are not comfortable with command line then FakeSMTP is a Free Fake SMTP Server with GUI for testing emails in applications easily. It is written in Java. It is very nice and easy to use.

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

Kindly upvote the answer if it help :)

查看更多
淡お忘
4楼-- · 2020-06-17 03:48

The following did the job. See source here.

  1. Edit file: sudo emacs /System/Library/LaunchDaemons/org.postfix.master.plist.
  2. Add <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> before the closing </dict> tag.
  3. Run sudo postfix start.

Check that SMPT is running: telnet localhost 25

查看更多
再贱就再见
5楼-- · 2020-06-17 03:55

Try this - http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm

and if you want an SMTP server to send mail from on OSX, this may help (havent actually tried it, but seems like it could do the job) - http://email.about.com/cs/sendmail/gr/sendmail_enable.htm

Hope that helps!

查看更多
登录 后发表回答