1

需要通过 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";
4

3 回答 3

3

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

于 2012-05-26T14:28:09.233 回答
1

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

  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);

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

于 2012-05-29T18:12:23.177 回答
0

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

例如,通过 PHP 发送电子邮件在此处此处进行了说明。有关服务器名称、用于 SMTP 的端口和可选凭据,请联系您当地的 Domino 管理员。

于 2012-05-28T12:05:07.703 回答