小编cde*_*ker的帖子

如果正文不为空,则从命令行发送邮件

我想编写一个简单的脚本,在日志更改时提醒我。为此,我使用 grep 来查找我感兴趣的行。现在它是这样工作的:

grep line /var/log/file | mail -s Log email@domain.tld
Run Code Online (Sandbox Code Playgroud)

问题是即使没有找到匹配的行,这也会发送邮件。mailutils 的邮件实用程序似乎没有开关告诉它丢弃正文为空的邮件。

有没有一种快速简便的方法呢?

email bash command-line-interface cron

12
推荐指数
2
解决办法
1万
查看次数

无法让 ejabberd 预绑定工作

我正在尝试使 BOSH 会话的预绑定工作。

我希望能够在我的 CMS 中对用户进行身份验证,然后在他访问聊天时让他登录,为此我找到了https://github.com/smokeclouds/http_prebind,一切都可以找到并且我能够编译它步骤如下:

rake configure
sed -i 's/AUTH_USER/a_user/g' src/http_prebind.erl
sed -i 's/AUTH_PASSWORD/a_password/g' src/http_prebind.erl
sed -i 's/EJABBERD_DOMAIN/jabber.my.tld/g' src/http_prebind.erl
rake build
rake install
Run Code Online (Sandbox Code Playgroud)

然后将 http 请求绑定添加到配置中:

  {5280, ejabberd_http, [
                         {request_handlers,
                          [
                           {["http-prebind"], http_prebind}
                          ]},
                         %%captcha,
                         http_bind,
                         http_poll,
                         http_prebind,
                         web_admin
                        ]}

 ]}.
Run Code Online (Sandbox Code Playgroud)

据我所知,我现在应该能够简单地请求一个新的会话:

curl -u a_user:a_password http://jabber.my.tld:5280/http-prebind/some_user
Run Code Online (Sandbox Code Playgroud)

但无论我总是得到什么Unauthorized回应。

对这个有什么想法吗?

PS:我也尝试过 Mod-Http-Pre-Bind,但由于它不需要密码,我更喜欢使用 http_prebind。

PPS:用户名 AUTH_USER 和密码 AUTH_PASSWORD 的用户实际上必须存在吗?我目前正在使用管理员帐户。

http ejabberd xmpp

5
推荐指数
0
解决办法
790
查看次数

反向 DNS 是我的邮件被拒绝的原因?

由于我切换了 ISP,我的邮件出现了很多问题。有时邮件会被接收方拒绝,并显示以下消息:

这是主机mail.xyz.ch 上的邮件系统。

很抱歉通知您,您的邮件无法发送给一位或多位收件人。它附在下面。

如需更多帮助,请发送邮件到邮政。

如果这样做,请包含此问题报告。您可以从附加的返回消息中删除您自己的文本。

邮件系统...

操作:失败状态:5.7.1 远程 MTA:dns;postrelay2.lrz-muenchen.de 诊断代码:smtp;550 5.7.1 客户端主机被拒绝:找不到你的主机名,[213.xxx.yyy.zzz]]

显然,通信的接收方抱怨它在反向 DNS 查找中找不到主机名 mail.xyz.ch。

现在我确定我在 bind 中配置了所有 PTR 条目以指向真实的主机名:

;
; BIND reverse data file for broadcast zone
;
$TTL    604800
@   IN  SOA dns3.xyz.ch. root.xyz.ch. (
               20100328     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
                NS      dns3.xyz.ch.
                 NS      dns2.xyz.ch.

129             PTR     ssh.xyz.ch.
129             PTR     www.xyz.ch.
129             PTR     mail.xyz.ch.
Run Code Online (Sandbox Code Playgroud)

但是反向 DNS 查找仍然只提供 ISP 名称:cust.static.213-xxx-yyy-zzz.swisscomdata.ch. …

email bind reverse-dns

2
推荐指数
1
解决办法
5万
查看次数

将 SSH 连接透明地转发到 NATed 服务器

我已经尝试了很长时间,但还没有找到好的解决方案。我在 NAT 后面有几台服务器,它们都运行 SSH 守护程序。其中一台机器是我的主服务器,它将 SSH 端口转发给它。我想要的基本上是通过主服务器打开与其他 NATed 服务器的连接,类似于我可以通过打开与主服务器的连接然后通过 SSH 连接到目的地。由于有一些应用程序运行在 SSH 之上,我想让它自动化,以便在连接本身之上运行 rsync 或 git。

SSH 有反向代理吗?

ssh reverse-proxy

0
推荐指数
1
解决办法
353
查看次数