【问题标题】:How to send email in lotus notes using PHP如何使用 PHP 在 Lotus Notes 中发送电子邮件
【发布时间】:2012-05-26 13:32:31
【问题描述】:

需要通过 Lotus Notes 使用 PHP 发送电子邮件。 Notes 在我的系统上配置。所以只是想如果我可以使用 PHP 发送电子邮件。任何人都可以帮助我完成我应该做的代码和配置吗?


在阅读了你们所有人的回复后,我试图从我的角度确定事情。在你们的帮助下,我至少可以领先一步。我可以使用 GetEnvironmentString 找出我的邮件服务器,它该死的正确,这也反映在我的 lotus notes 工作空间中。但是当我尝试使用下面的代码时,它只会继续加载并最终什么都不返回 -

<?php

       require_once "Mail.php";

        $from = "abc@email.com";
        $to = "abc@email.com";
        $subject = "Test!";
        $body = "Hi,\n\nTest?";

        $host = "d23abcd";
        $port = "1352";
        $username = "abc@email.com";
        $password = "mypassword";

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

    ?> 

我在这里犯了一些错误吗?我怀疑

 $host = "d23abcd";
 $port = "1352";

【问题讨论】:

  • 无论您的情况如何,我都非常怀疑您需要通过 Lotus Notes 使用 PHP 发送电子邮件。此外,我非常怀疑这会不会是一个好主意。
  • 好吧,我已经使用 PHP 开发了一个小型 Web 应用程序。我的要求是,当有人在其中一个页面上提交请求时,会触发一封电子邮件。由于我只能使用 Notes 作为官方 id,所以需要在 note 中触发电子邮件。顺便说一句,使用 PHP 不可行吗?你怀疑的原因是什么?

标签: php email smtp lotus-domino lotus


【解决方案1】:

如果您的 Lotus Domino 服务器设置了 SMTP,您可以将 Domino 服务器用作外发邮件服务器(如果 PHP 能够使用中继服务器发送邮件)。

【讨论】:

  • 很抱歉问了这个愚蠢的问题,但是如何知道它的 SMTP 是否启用?有没有办法我自己可以弄清楚?如果不是,另一种方法是什么? @lonesomeday - 我得到了你的观点,伙计。事实上我错了,我不需要Notes,而是需要一些邮件服务器。
  • 您可以通过在端口 25 上远程登录到服务器的主机名来查看是否可以访问服务器上的 SMTP。或者询问您的管理员 :-) 如果 SMTP 未在 Domino 服务器上运行,他们可能是能够帮助您获得另一个 SMTP 服务器的地址。
  • 所以我可以在我的 Lotus Notes 中的工作区下看到服务器名称。我ping了它,它响应了。但是,即使我使用服务器和端口号,也会出现相同的错误 - PHP 警告:mail() [function.mail]: Failed to connect to mailserver at "serv123"端口 552,验证您的“SMTP”;和“smtp_port”在 php.ini 中设置或在第 7 行的 ..htdocs\\automationutil\\pages\\sendemail.php 中使用 ini_set()
  • 我只尝试了 25 个。但是当它不起作用时,确定了端口然后尝试了....但是没有运气
  • 联系您的服务器管理员,询问服务器上是否启用了 SMTP。
【解决方案2】:

非常感谢您的所有回复和回复。最后,我能够使用多米诺服务器发送邮件。想分享一些我遇到的事情-

  1. 使用 $session->GetEnvironmentString("MailServer",True);找出 session 是 Notes.NotesSession 的 COM 对象实例的服务器,例如 new COM("Notes.NotesSession");

  2. 其次,我尝试使用从 netstat 命令获得的用于此特定服务器进程的端口 1352。但它没有工作,最后只工作了 25 个。

  3. Domino 服务器不接受身份验证,因此使用了 mail($to,$subject,$message,$headers);而不是 $mail = $smtp->send($to, $headers, $body);

很高兴它成功了。感谢大家的帮助和建议。

【讨论】:

    【解决方案3】:

    使用本地 Notes 客户端或安装在“服务器”上的 Notes 客户端通过 COM 发送邮件不是一个好主意。您想要的是通过 SMTP 服务器(可以是 Domino 服务器,正如 Per 指出的那样)从 PHP 发送电子邮件。

    通过 PHP 发送电子邮件例如解释 herehere。有关服务器名称、用于 SMTP 的端口和可选凭据,请联系您当地的 Domino 管理员。

    【讨论】:

    • 是的...尝试使用我的工作区(在莲花笔记中)下的服务器名称,按照这里的管理员,它应该是服务器,但没有运气:(
    • 为问题添加了更多细节
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多