Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP通过SSH发送电子邮件_Php_Security_Email - Fatal编程技术网

PHP通过SSH发送电子邮件

PHP通过SSH发送电子邮件,php,security,email,Php,Security,Email,我们有一个网站,通过电子邮件将联系方式的内容发送给我们的客户。我们想改变这一点,使其更加安全(敏感数据可以通过联系表单发送),我们已使用SSL证书对页面进行加密,因此目前唯一的薄弱环节是电子邮件 我们已经设置了一个到客户端服务器的SSH连接,我想知道是否有人知道是否可以通过该连接发送电子邮件(可能带有附件) 我们的web服务器是linux机器,我们可以自己安装应用程序。客户端的服务器是unix服务器,但其电子邮件系统是Microsoft Exchange 我们已经讨论过PGP,它不是我们客户的选

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

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

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

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

谢谢你的帮助


Peter

如果客户机的服务器配置为“”命令工作,那么您应该能够使用该命令。而且测试也很容易:在ssh中进行测试并进行尝试


否则,您可能希望直接转到他们的邮件服务器。

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

  • 运行PHP脚本的Web服务器;后来被称为Web服务器
  • 在客户端站点上运行的Unix服务器;后来被称为UnixServer
  • 在客户端站点上运行的Exchange服务器;后来被称为ExchangeServer
  • 您可以使用从Web服务器到UnixServer服务器(端点位于ExchangeServer)的隧道连接。它不是端到端的加密,因为您没有从UnixServer到ExchangeServer的加密链接,它使您更接近您的目标

    可以找到有关AutoSH的完整文档

    设置的基本步骤如下:

    A.从Web服务器到UnixServer。您必须小心保护生成的RSA密钥,否则您就在他们的系统上打开了一个漏洞。理想情况下,在非特权用户下运行AutoSh,并使UnixServer上使用的帐户也成为非特权用户确保在开始使用AutoSH之前测试连接

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

    TCPKeepAlive yes
    ClientAliveInterval 60 
    ServerAliveInterval 15 
    ServerAliveCountMax 3 
    

    C.设置AutoSh。Linux.com作为一篇文章,debianadmin.com作为一篇文章。

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


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

    ssh-L$LOCAL\u LISTEN\u PORT:$EXCHANGE\u SERVER\u IP:25username@sshdserver


    我们已经想到了这一点,但是客户希望尽量减少对电子邮件收件人的干扰,并且希望这与他们的观点没有什么不同。谢谢,现在就查看邮件命令。我唯一不知道怎么做的就是发送附件,但我应该可以这样做。谢谢你的帮助