【问题标题】:How to send an email using swiftmailer on a windows machine?如何在 Windows 机器上使用 swiftmailer 发送电子邮件?
【发布时间】:2017-01-18 15:34:49
【问题描述】:

swiftmailer 文档解释说,为了发送电子邮件,我们必须创建一个 Transport、mailer、message 然后发送它。现在我想从 localhost 发送一封电子邮件以及如何为 Windows 机器配置传输。 他们的文档中的虚拟代码是:

$transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25)->setUsername('your username')->setPassword('your password');

现在参数的值应该是多少,以便在 Windows 上我可以从 localhost 发送邮件。我正在使用 Xampp。请帮助我。

【问题讨论】:

    标签: php email swiftmailer


    【解决方案1】:

    如果“从本地主机发送”仅表示脚本在本地主机上运行,​​但您能够从外部服务器发送电子邮件,那么您需要一个可以使用的 SMTP 服务器(例如,您用于所有无论如何,您的电子邮件,无论是哪个服务器)并将您的凭据用作传输中的长凭据。没有人能告诉你那是什么,因为我们现在既不知道你的邮件服务,也不知道你的用户名和密码。

    但是,如果您没有要使用或不想使用的外部 SMTP 服务器,则需要在本地计算机上运行 SMTP 服务器。涵盖如何在 Windows 机器上设置 SMTP 服务器超出了 SO 的范围。但是,无论如何,我不建议在测试场景之外执行此操作,因为来自动态 IP 地址(您可能是这样)的邮件没有有效的反向 DNS 或与主机名不匹配的反向 DNS(您可能也有)不是无论如何都被任何健全的邮件服务器接受并被视为垃圾邮件。

    【讨论】:

    • 好的,非常感谢。我正在学习 swiftmailer。只是想测试一下,但我认为从您的回答来看,不可能仅通过本地主机和手中的机器发送一个。
    • 如果您没有在本地主机上运行邮件服务器,那么是的,就是这样。但是我假设您在某个地方有一个电子邮件地址 - 您可以轻松地使用他们的 SMTP 服务器进行测试。只要确保您的测试电子邮件的发件人始终是您在该服务中注册的电子邮件地址,否则他们可能会拒绝它。
    • 你能解释一下我如何使用该服务,因为我对 PHP 还很陌生。我只想看看测试邮件和 swiftmailer 的运行情况。
    • 假设您的电子邮件地址是“jot.waraich@gmail.com”,您将使用$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')->setUsername('jot.waraich@gmail.com')->setPassword('your gmail password'); 如果您不使用 gmail,请为您的电子邮件服务找到正确的设置并进行相应调整。请注意,Gmail 需要加密,因此需要额外的“ssl”参数。
    • 你很棒。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 2010-12-11
    • 1970-01-01
    相关资源
    最近更新 更多