2011-03-23 95 views

回答

1

您可以安装邮件服务器(如Postfix),并将其配置为使用外部邮件服务器作为SMTP中继。否则,大多数电子邮件服务会拒绝接受您的信息,或将其分类为垃圾邮件。

该线程serverfault可能对你有帮助,它解释了如何配置postfix,使得通过Gmail转发电子邮件:Configure Postfix to send/relay emails Gmail (smtp.gmail.com) via port 587

4

最简单的方法,我想,我通常做什么,是对_dev环境配置为使用良好的旧Gmail(或任何其他提供者)。在您的应用程序/前端/配置/ factories.yml文件进行设置:

dev: 
    mailer: 
    class: sfMailer 
    param: 
     logging:   %SF_LOGGING_ENABLED% 
     charset:   %SF_CHARSET% 
     delivery_strategy: realtime 
     transport: 
     class: Swift_MailTransport 
     param: 
      host:  smtp.gmail.com 
      port:  465 
      encryption: ssl 
      username: [email protected] 
      password: your-password 

发送e-mail将ofcourse需要更长的时间,因为PHP必须连接到谷歌的服务器,并传递邮件。

通过这种方式,您可以担心在生产服务器上设置正确的SMTP,并让您的开发机器用于开发。另一个好处是,如果您在旅途中发展,并且您当地的咖啡馆/机场/亭子将码头挡在25码头(他们通常会这样做),您将不会遇到邮件递送问题。

+0

是的,这可能是最简单的方法。但是如果你在团队中工作,那么你可能不能向factories.yml文件中的其他人展示gmail密码。因此我们应该创建通用的Gmail账户。 – 2011-03-24 02:48:15

+0

我得到这个错误:警告:邮件()[函数。邮件]:无法连接到邮件服务器在端口25,验证您的“SMTP”和“smtp_port”设置在php.ini中或使用ini_set()在线50上的C:\ wamp \ www \ Digicom2011 \ lib \ vendor \ symfony \ lib \ vendor \ swiftmailer \ classes \ Swift \ Transport \ SimpleMailInvoker.php。我应该怎么做? – 2011-03-24 04:09:07

+0

你确定你在开发环境(使用frontend_dev.php)吗?它似乎将邮件服务器主机读为空白,这意味着它可能是YAML格式错误或者您处于错误的环境中。 – cvaldemar 2011-03-24 16:37:41