1

我正在尝试配置我的 php.ini 文件,以便我可以使用 PHP 从我的开发环境中的“localhost”发送电子邮件。我不再有权访问开放的 SMTP 服务器,并且 Gmail 不再使用他们的新 SSL 设置。我已经做了很多研究,并在这里和其他地方看到了很多“解决方案”,但它们不起作用。我尝试安装本地 SMTP 服务器(hMailServer 要求输入密码才能安装,免费 SMTP 服务器不起作用等)。

有谁知道我可以在我的 php.ini 文件中设置的免费 SMTP 服务器,或者任何其他从 localhost 发送邮件的方式(我只需要它用于测试目的)。当我切换到生产环境时,我不想以完全不同的方式更改代码和发送电子邮件。(我正在使用 Zend 和 Zend_Mail 类)

4

4 回答 4

3

您可以尝试使用 Zend_Mail_Transport_File 进行测试。

$mail = new Zend_Mail();
$mail->send(new Zend_Mail_Transport_File());
于 2011-01-27T16:22:01.947 回答
2

在 Windows 中,我通常使用Mercury从 localhost 发送电子邮件以进行测试。Mercury 可免费用于非商业用途,它也用于xampp

于 2011-01-27T16:17:38.270 回答
0

XAMP、WAMP 等的解决方案。

下载hMailServer ; 然后配置程序:

  1. 当您第一次打开 hMailServer Administrator 时,您应该添加新域。
  2. 单击欢迎页面上的“添加域...”按钮。
  3. 在域文本字段下,输入您计算机的 IP,在本例中应为 127.0.0.1。
  4. 单击保存按钮。
  5. 转到设置>协议> SMTP,然后选择“电子邮件传递”选项卡
  6. 在本地主机名称字段中输入“本地主机”。
  7. 单击保存按钮。

如果您需要使用另一台计算机的 FROM 收件人发送邮件,您需要允许从外部帐户投递到外部帐户。为此,请按照下列步骤操作:

  1. 转到设置>高级>IP范围并双击“我的电脑”,其IP地址应为127.0.0.1
  2. 选中允许从外部到外部帐户的交付复选框。
  3. 使用保存按钮保存设置。

如果您使用 Gmail 帐户,则需要稍作修改:

  1. 转到设置>协议> SMTP,然后选择“电子邮件传递”选项卡
  2. 在远程主机名字段中输入“smtp.gmail.com”。
  3. 输入“465”作为端口号
  4. 勾选“服务器需要身份验证”
  5. 在用户名字段中输入您的 Google Mail 地址
  6. 在密码字段中输入您的 Google Mail 密码。
  7. 勾选“使用 SSL”
于 2013-05-29T12:55:48.427 回答
-1

您将不得不使用此配置来传输邮件

$transport = new Mail\Transport\Smtp();  
        $options = new Mail\Transport\SmtpOptions (array(  
                    'name' => 'host',  
                    'host' => 'smtp.gmail.com',  
                    'port'=> 587,  
                    'connection_class' => 'login',  
                    'connection_config' => array(  
                        'username' => "yourGmailUserMail",  
                        'password' => 'yourGmailPassword',  
                        'ssl'=> 'tls',  
                    ),  
        )); 
        $transport->setOptions($options)

;

它会起作用。

于 2014-02-22T17:45:00.303 回答