Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/323.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/0/email/3.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发送电子邮件_Php_Email_Sendmail - Fatal编程技术网

从PHP发送电子邮件

从PHP发送电子邮件,php,email,sendmail,Php,Email,Sendmail,前言,我不确定stackoverflow是否是合适的站点,但服务器故障和Web应用程序似乎都不合适。如果你觉得其他网站更好,请随意移动 我正在尝试从PHP发送一封电子邮件,并与sendmail配置进行斗争。通过PHP发送它实际上不会产生任何输出邮件,毕竟只会返回一个布尔值,尝试从命令行发送它会导致连接被拒绝错误,我认为这是因为我停止了sendmail服务。因为我不需要收到任何邮件,所以我不需要这项服务 那么,如何将sendmail配置为在没有后台服务的情况下工作,并通过命令行发送接收到的数据/电

前言,我不确定stackoverflow是否是合适的站点,但服务器故障和Web应用程序似乎都不合适。如果你觉得其他网站更好,请随意移动

我正在尝试从PHP发送一封电子邮件,并与sendmail配置进行斗争。通过PHP发送它实际上不会产生任何输出邮件,毕竟只会返回一个布尔值,尝试从命令行发送它会导致连接被拒绝错误,我认为这是因为我停止了sendmail服务。因为我不需要收到任何邮件,所以我不需要这项服务

那么,如何将sendmail配置为在没有后台服务的情况下工作,并通过命令行发送接收到的数据/电子邮件呢

或者,如果有人知道sendmail的轻量级替代方案不一定是postfix:它只从命令行接收电子邮件,其他什么都不接收,我当然也会很感激。

选项:


您不能停止Sendmail服务,仍然希望Sendmail为您做任何事情。那只是。。。荒谬。

另一种选择是使用Pear的邮件包通过另一个SMTP服务器直接发送


此处的更多信息:

通常不需要对sendmail进行配置。sendmail附带的大多数发行版中的开箱即用设置将按原样工作。。。但是,如果没有sendmail守护程序,您就不能真正拥有sendmail。sendmail守护进程检查传出和传入邮件。@MarcB谢谢Marc,但这正是我想要避免的。我不关心收到的电子邮件,只想发送。是否有任何参数/设置可以实现这一点?或者您是否知道任何不需要此服务和配置负载的替代MTA您需要启动sendmail服务。我以前也有过这个问题。@ramonovski这正是我想要避免的。正如我所说,我没有收到任何电子邮件,所以我还不想得到额外的服务。我基本上只想通过PHP脚本发送。您可以告诉sendmail只绑定到localhost/127.0.0.1地址,因此任何试图连接向您发送内容的外部用户都只能获得拒绝的连接。非常感谢您提供的链接。我只读了前几行,但它可能是有希望的。不幸的是,PHPMailer不是一个选项,因为它是依赖于邮件的第三方代码。它有什么可笑之处?我不需要在后台做任何事情的服务。我需要一个在被调用时起作用的东西,而这不需要服务。@user2425954在后台除了发送邮件之外什么都不做。概括地说,Sendmail可以归结为将邮件放入队列的提交代理和将邮件从队列中取出并传递的传递代理。提交代理按需运行,这就是邮件返回true的原因,因为它将消息放入队列,问题是等式的另一半被关闭。我在评论中没有足够的空间来描述在后台运行的必要性,但事实确实如此。这可能是sendmail体系结构相关的问题,但对于发送电子邮件,您不需要后台服务将排队部分放在一边,这将是一个有意识的决定。Sendmail只需考虑到这一点,就可以在不提供服务的情况下使用直接方法。@user2425954 Sendmail可以或应该做的事情列表可能会让一群宽颈动物窒息,而且由于Sendmail是MTA的事实上的标准MTA[其中大多数是以Sendmail为先导的]你最好适应它的工作方式,而不是争论它为什么做什么。