PHP通过SSH发送电子邮件

时间:2009-02-23 12:40:50

标签: php security email

我们有一个网站通过电子邮件将联系表格的内容发送给我们的客户。我们想要更改它以使其更安全(敏感数据可以通过联系表单发送),我们已经使用SSL证书加密了页面,因此我们目前唯一的弱链接是电子邮件。

我们已经为客户的服务器设置了SSH连接,我想知道是否有人知道是否可以通过该连接发送电子邮件(可能附带附件)?

我们的网络服务器是一台Linux机器,我们可以自己安装应用程序。客户端的服务器是unix服务器,但是他们的电子邮件系统是Microsoft Exchange。

我们已经讨论过PGP,它不是我们客户的选择,他们不会在他们的系统上安装它。

感谢您的帮助。

彼得

4 个答案:

答案 0 :(得分:1)

为了让我的答案更清楚,我在这里看到三(3)个系统。

  1. 运行PHP脚本的网络服务器;后来被称为WebServer
  2. 客户端站点上运行的Unix服务器;后来称之为UnixServer
  3. 在客户端站点上运行的Exchange服务器;后来称之为ExchangeServer
  4. 您可以使用autossh通过UnixServer服务器和ExchangeServer上的端点来连接从WebServer到UnixServer服务器的连接。它不是端到端的加密,因为你没有从UnixServer到ExchangeServer的加密链接,它可以让你更接近你的目标。

    可以找到关于autossh的完整文档here

    设置的基本步骤如下:

    一个。从WebServer到UnixServer的Setup passwordless authentication。您必须小心保护生成的RSA密钥,否则您刚刚在其系统上打开了一个漏洞。理想情况下,在非特权用户下运行autossh,并且UnixServer上使用的帐户也是非特权的。 确保在开始使用自动搜索

    之前测试连接

    B中。为keepalive设置ssh选项(autossh是一个后备选项)。确保用户启动autossh的~/.ssh/config文件具有以下选项设置:

    TCPKeepAlive yes
    ClientAliveInterval 60 
    ServerAliveInterval 15 
    ServerAliveCountMax 3 
    

    ℃。设置autossh。 Linux.com作为一个关于它的here和debianadmin.com是一个here

答案 1 :(得分:0)

如果客户端的服务器已配置为“mail”命令有效,那么您应该可以使用它。并且很容易测试:ssh in并尝试它。

否则,您可能希望将smtp over SSL with encryption直接发送到他们的邮件服务器。

答案 2 :(得分:0)

我倾向于将信息安全地存储在服务器上,然后通过电子邮件发送通知给用户,然后用户可以登录并在网页中查看此请求(以及所有其他最近的请求?)。

您不必为了确保电子邮件安全并使用不属于您的专业领域的系统而烦恼,您可以正确保护您的PHP应用程序,并利用浏览器中已经很容易获得的安全功能

答案 3 :(得分:0)

ssh -L $ LOCAL_LISTEN_PORT:$ EXCHANGE_SERVER_IP:25个用户名@ sshdserver

http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Port_Forwarding.html

相关问题