【问题标题】:Connecting PHP code to Microsoft Outlook to send email? [closed]将 PHP 代码连接到 Microsoft Outlook 以发送电子邮件? [关闭]
【发布时间】:2012-05-06 18:44:19
【问题描述】:

我现在的情况是

  1. 我正在使用 XAMPP(本地主机)
  2. 所有传出端口都被阻止(gmail 25,465,587、hotmail 等)

我想使用 PHP 连接到我自己的 Microsoft Outlook,这样我就可以从我的公司电子邮件地址发送电子邮件。可以的话请帮忙,谢谢!

由于我连接到 Microsoft Outlook 以发送电子邮件,我是否还需要配置 Mercury Server?

【问题讨论】:

  • 是的,我同意。是交换。我有,怎么办?

标签: php html email outlook


【解决方案1】:

实际上,您可以直接连接到 Outlook。 对我来说,下一个代码开箱即用:

<?php
    $subject="This is a test message";        
    $message="This is a Body Section now.....! :)";        
    $to="someaddress@somedomain.com";

    // starting outlook        
    com_load_typelib("outlook.application"); 

    if (!defined("olMailItem")) {define("olMailItem",0);}

    $outlook_Obj = new COM("outlook.application") or die("Unable to start Outlook");

    //just to check you are connected.        
    echo "Loaded MS Outlook, version {$outlook_Obj->Version}\n";        
    $oMsg = $outlook_Obj->CreateItem(olMailItem);        
    $oMsg->Recipients->Add($to);
    $oMsg->Subject=$subject;        
    $oMsg->Body=$message;        
    $oMsg->Save();        
    $oMsg->Send();    
?>

请确保您已添加

[COM_DOT_NET]
extension=php_com_dotnet.dll

在 php.ini 的末尾(在我的例子中,我有 PHP 5.3)

【讨论】:

  • 它在服务器中工作吗?还是仅适用于本地主机?
  • 它在我的服务器中不起作用。有人能在服务器中使用它吗?
  • 对不起,千年没来了。那时我只在 localhost 中检查过它。然后我在本地网络中的虚拟机中成功使用它,该虚拟机用作“服务器”,在我的配置文件下运行 Windows 10 和 Outlook。
【解决方案2】:

您不使用 PHP 连接到 Outlook,而是连接到邮件服务器...在这种情况下,我怀疑那将是 Exchange。您可以使用 SwiftMailerPHPMailerZend_Mail 之类的包通过 SMTP 使用帐户发送消息。因此,您可以使用与 Outlook 邮箱相同的凭据和设置……特别是:SMTP 服务器(发送服务器)、端口、加密 (ssl/tls) 用户名​​、密码。

文档中的示例

  1. SwiftMailer
  2. PHPMailer
  3. Zend_Mail

【讨论】:

  • 我确实尝试过 PHPMailer,我确实设置了我的 SMTP 服务器、端口、用户名和密码,但它不起作用..
  • 安全性怎么样?你们是在使用 SSL 或 TLS 等加密吗?我不是 Windows 管理员,但可能还有一项安全策略仍会阻止您以这种方式发送。但是,如果您可以连接到 GMail,您可以随时从那里发送。
  • 好吧,不幸的是,当我尝试 telnet smtp.gmail.com 时,如上所示,所有端口都不起作用。我猜它被拒绝了。我得到了我自己公司的 SMTP 服务器地址,当我 telnet (server) 25 时,它工作了。所以现在我正在尝试找出解决方法,以便我可以使用 PHP 发送电子邮件
  • 好吧,你必须在谷歌上使用 TLS,所以你需要指定它。您还需要确保已安装并启用了 ssl 扩展。我建议暂时使用 GMail,因为除非您验证所有设置并确认策略将允许您连接 php,否则没有人真正能够帮助您 - 而使用 gmail,设置是公开,我们可以帮助您解决问题。
  • 您好 prodigitalson,首先,谢谢您。我试过 gmail phpmailer,它说电子邮件本身已发送,但是当我检查我的 gmail 帐户时,它没有说明其他情况 - 没有收到电子邮件。
猜你喜欢
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 2017-01-07
  • 1970-01-01
  • 2017-06-27
  • 1970-01-01
  • 2012-08-13
  • 2016-12-06
相关资源
最近更新 更多