0

我编写了一个程序(在 Android 中,客户端和 PHP,服务器端)通过 HTTP 将文件上传到服务器。由于各种原因,我不得不更改系统以在 SSH 中执行所有操作(出于安全考虑)。

我已经设置了基础知识(在 Android 上使用 jsch)。但我想实现 PHP mail() 函数的等价物。当文件上传时,原来我的PHP文件会自动从服务器发送一封邮件到某个地址。

我正在努力寻找一种在服务器上的外壳中实现此功能的方法。所以问题是,如何在 SSH 中自动从服务器发送电子邮件?

编辑:忘了提到服务器是 CentOS。

4

1 回答 1

0

SSH 本身没有邮件功能——它只支持 shell 访问(可能包括 X 和 SSH 代理转发)、文件传输(或可能集成到服务器中的其他子系统)和端口转发。

因此,您基本上有以下选择:

  • 调用一些导致邮件发送的服务器端 shell 命令,如 Marc 的评论中所述。这将使用一个shell通道

  • 使用端口转发访问您的服务器主机(或从那里接受邮件的任何主机)上的 SMTP 服务器。

    如果您想从使用 JSch 的同一个程序发送,则无需实际进行客户端端口转发,而只需使用direct-tcpip通道,并在连接前设置其主机和端口属性。

    然后你必须自己实现 SMTP 协议,或者使用任何其他支持 SMTP 的库。(我想 JavaMail 可以做到这一点,但我没有探讨如何配置它以使用 JSch 作为隧道。)

于 2011-09-14T16:42:36.250 回答