2009-02-23 186 views
0

我们有一个网站将联系表单的内容通过电子邮件发送给我们的客户。我们希望对此进行更改以使其更安全(敏感数据可以通过联系表单发送),我们使用SSL证书加密了该页面,因此我们目前唯一的薄弱环节就是电子邮件。PHP通过SSH发送电子邮件

我们已经建立了一个SSH连接到我们客户端的服务器,我想知道是否有人知道是否可以通过该连接发送一封电子邮件(可能带有附件)?

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

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

感谢您的任何帮助。

彼得

回答

0

如果客户端的服务器配置,因此“mail”命令的工作,你应该能够使用的。而且很容易测试:ssh并尝试一下。

否则,你可能想用smtp over SSL with encryption直接到他们的邮件服务器。

+0

谢谢,只是寻找到邮件命令现在。我还没有想出怎么做的唯一事情是发送附件,但我应该没事做。您的帮助 – Peter 2009-02-23 13:48:35

1

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

  1. 运行PHP脚本的网络服务器;后来被称为Web服务器
  2. 在客户端站点上运行的Unix服务器;后来被称为UnixServer
  3. 客户端站点上运行的Exchange服务器;后来refered以作为的ExchangeServer

你可以做的是使用autossh隧道从网络服务器通过UnixServer服务器在的ExchangeServer端点的连接。它不是端到端的加密,因为你不会有从UnixServer到ExchangeServer的加密链接,它使你更接近你的目标。

上autossh完整文档,可以发现here

输入设置的基本步骤是这样的:

A. Setup passwordless authentication从Web服务器到UnixServer。你必须小心翼翼地保护RSA密钥,否则你刚刚在他们的系统上打开了一个大洞。理想情况下,在非特权用户下运行autossh,并让UnixServer上使用的帐户也是非特权用户。 确保您测试连接您开始使用autossh

B.设置为存活你的ssh选项(autossh是一种退而求其次的选择)前。确保~/.ssh/config文件用户启动autossh有以下选项设置:

TCPKeepAlive yes 
ClientAliveInterval 60 
ServerAliveInterval 15 
ServerAliveCountMax 3 

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

0

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

你不必惹试图使电子邮件的安全,并与不在您的专业领域系统工作的周围,你可以适当地保护您的PHP应用程序,并利用安全功能已经在容易获得浏览器。

+0

我们已经想到了这一点 谢谢,但客户希望尽量减少破坏电子邮件的收件人,并希望它是没有从他们的观点不同。 – Peter 2009-02-23 13:45:00