10

我使用 PHP,我的机器上有mamp。我想在我的 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>");
  }
 ?>

如何在我的 mac 机器上免费配置邮件服务器?

4

4 回答 4

14

以下完成了这项工作。在此处查看源代码。

  1. 编辑文件:sudo emacs /System/Library/LaunchDaemons/org.postfix.master.plist.
  2. <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/>在结束</dict>标记之前添加。
  3. 运行sudo postfix start

检查 SMPT 是否正在运行:telnet localhost 25

于 2014-11-29T21:57:41.783 回答
10

选项1:

CommandLineFu 有这样一个班轮在端口 25 上运行 SMTP 服务器:

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

这将在您的本地机器上运行一个假的 smtp 服务器。它不会发送任何内容,但会将其转储到控制台。

选项 2:

如果您对命令行不满意,那么 FakeSMTP 是一个带有 GUI 的免费假 SMTP 服务器,用于轻松测试应用程序中的电子邮件。它是用 Java 编写的。它非常好用且易于使用。

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

于 2019-10-16T05:17:20.430 回答
0

我可以在 linux mac 上安装任何 smtp 服务器吗?

使用 SMTP 身份验证从 PHP 发送邮件 - 示例:

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

使用 SMTP 身份验证和 SSL 加密从 PHP 发送邮件 - 示例:

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

相关话题:

于 2012-11-09T16:56:14.453 回答
0

试试这个 - http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm

如果您希望 SMTP 服务器从 OSX 上发送邮件,这可能会有所帮助(实际上还没有尝试过,但似乎可以完成这项工作) - http://email.about.com/cs/sendmail/gr/sendmail_enable .htm

希望有帮助!

于 2012-06-24T03:46:23.600 回答