标签: sendmail

使用 sendmail 发送文件

我有一个使用 sendmail 函数发送电子邮件的 shell 脚本,代码如下

mailalert(){
sendmail -F Sender-Name -it <<END_MESSAGE
To: Recipient@example.com
Subject: Subject

Message
END_MESSAGE
}
Run Code Online (Sandbox Code Playgroud)

每当我调用这个函数时它就会被执行。现在我有一个文本文件,我想使用 sendmail 作为附件或作为它发送的电子邮件中的消息发送。我怎样才能做到这一点?我尝试了很多技巧,但似乎没有任何效果。请帮忙。

email scripts sendmail

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

谁是 sm-msp-queue 以及他/她/它如何淹没我的 /var/log/syslog?

我奔跑着Linux BeagleBoard-xM 3.12.5-armv7-x10 #1 SMP Fri Dec 13 03:06:20 UTC 2013 armv7l armv7l armv7l GNU/Linux/var/log/syslog却被诸如Jan 11 10:21:09 BeagleBoard-xM sm-msp-queue[8036]: s0AJ66SY002027: to=root, ctladdr=root (0/0), delay=14:15:03, xdelay=00:00:00, mailer=relay, pri=2011764, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1].

当我丢弃 sendmailapt-get remove sendmail甚至重新启动时,我感到非常惊讶。我检查了进程以确保 sendmail没有运行:

F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
4     0     1     0  20   0   2996  1936 poll_s Ss   ?          0:08 /sbin/init
1     0     2     0 …
Run Code Online (Sandbox Code Playgroud)

cron sendmail

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

使用 cron 作业发送邮件

我写了一个脚本,一切都根据我的需要运行良好:

a=$(df -h /mnt/smb | tail -n +3 | tr -s ' ' | tr '%' ' ' | cut -d ' ' -f 5)
echo $a

if [[ $a -ge 30 ]]; then
    cat /etc/diskspace/text.txt | sendmail test.gmail.com
fi
Run Code Online (Sandbox Code Playgroud)

我想通过 Cron 每分钟运行一次这个脚本,看我的 crontab:

* * * * * /etc/diskspacae/vpndrive.sh
Run Code Online (Sandbox Code Playgroud)

如您所见,如果驱动器空间超过 80%,运行此脚本后,我想使用 sendmail 在我的电子邮件中收到通知。

但是当我从 Cron 运行这个脚本时我还没有得到它,并且我在/var/spool/mail/root.

ERROR Message: /etc/diskspace/vpndrive.sh line 34 : sendmail: command not found. 
Run Code Online (Sandbox Code Playgroud)

cron sendmail

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

msmtp:sendmail:未找到帐户默认值:没有可用的配置文件(系统范围的配置)

我正在尝试使用 msmtp 作为系统配置来设置 Ubuntu 20.04。

我安装了 msmtp (v1.8.6-1) 和 heirloom-mailx (v12.5-2+deb7u1build0.14.04.1)。

配置文件/etc/msmtprc (chmod: 600) 有以下内容:

# Set default values for all accounts.
account default
auth           on
tls            on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        /var/log/msmtp

# gmail
host           smtp.gmail.com
port           587
from           <account>@gmail.com
user           <account>
password       <password>

# Syslog logging with facility LOG_MAIL instead of the default LOG_USER
syslog LOG_MAIL
Run Code Online (Sandbox Code Playgroud)

日志文件/var/log/msmtp文件模式为 660。

文件/etc/mailrc (chmod: 600) 包含以下内容:

set sendmail="/usr/bin/msmtp"
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 sendmail 从终端发送电子邮件时,我收到以下sendmail: account default not found: no configuration file …

email smtp sendmail 20.04

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

如何解决常规系统日志错误?

我的系统日志中经常出现错误(它们恰好每 10 分钟发生一次,直到第二次):

Feb 22 13:01:24 computer sm-mta[5747]: q1MBVO6B003778: SYSERR(root): hash map "Alias0": missing map file /etc/mail/aliases.db: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我不知道如何解释这些错误,但我猜测sm-mta[5747]   错误的一部分是应用程序名称和进程 ID 是否正确?如果是这样,这对我来说似乎很奇怪,因为我没有安装 sm-mta 并且系统监视器没有具有该编号的进程 ID。我可能像往常一样愚蠢!

请问如何找出导致这些错误的原因并阻止它们发生?

syslog sendmail

4
推荐指数
1
解决办法
2170
查看次数

sm-msp-queue 说:无法限定我自己的域名 (xxx) -- 使用短名称

每隔 20 分钟,连续几天,sm-msp-queuesendmail我猜是与 相关的)在我的里面写了一条ubun这样的消息:

无法限定我自己的域名 (ubun) -- 使用短名称

哪里ubun是网络节点主机名( 的输出uname -n和内容/etc/hostname)。

的内容/etc/mail/local-host-names包括两行:localhostubun

该文件/etc/hosts以两行开头:

127.0.0.1 localhost
127.0.0.1 ubun
Run Code Online (Sandbox Code Playgroud)

该文件/etc/cron.d/sendmail包含一个设置为每 20 分钟运行一次的 cronjob:

*/20 *    *    *    *   smmsp test -x /etc/init.d/sendmail && /usr/share/sendmail/sendmail cron-msp
Run Code Online (Sandbox Code Playgroud)

但是,我不知道该命令smmsp应该做什么;我不能单独运行它,也不能使用sudo(I get sudo: smmsp: command not found)。跑步sudo /usr/share/sendmail/sendmail cron-msp好像什么都没做。

有任何想法吗?

cron hostname syslog sendmail

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

/usr/lib/sendmail (Ubuntu) 上没有这样的文件或目录

mail我多次尝试使用以下命令发送邮件:

abdennour@pc: mail -v abd.tm@gmail.com
Subject: Hello World!
This is an email to myself.

Hope all is well.
.
Cc: 
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

/usr/lib/sendmail: No such file or directory
"/home/abdennour/dead.letter" 9/261 
. . . message not sent.
Run Code Online (Sandbox Code Playgroud)

sendmail

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

如何在邮件正文中输入声明的变量,同时使用 perl 脚本发送邮件?

我在这里共享一个 perl 脚本,它应该在邮件正文中发送带有 HDD/RAM 状态的邮件:此外,只有当 %HDD 使用率高于 50% 时才会发生 HDD 输出。

  1. 如何在消息正文中包含声明的变量(此处@hdd@ram)?

  2. 如果硬盘使用率低于 50%,如何让程序在不发送邮件的情况下终止..?或者简单地说,当且仅当 HDD % 高于 50% 时,邮件程序才能工作。

在下面的脚本中,硬盘/内存检查部分工作正常,邮件发送部分也工作正常。除了在收到的邮件中直接显示“@hdd”和“@ram”而不是 HDD/RAM 值。

\#!/usr/bin/perl
@hdd = grep {$_ >50} (\`df -H`=~/(\S+%)/g);
@ram = \`free | grep Mem | awk '{print \$3/\$2 * 100.0}'`;
use MIME::Lite;
$to = 'admin@company.co.in';
$from = 'alerts@company.co.in';
$subject = 'HDD / RAM alerts';
$message = 'The % HDD usage is @hdd and the % RAM usage is @ram';
$msg = MIME::Lite->new(
                 From     => …
Run Code Online (Sandbox Code Playgroud)

mail perl sendmail

3
推荐指数
1
解决办法
1948
查看次数

Sendmail 不适用于 ubuntu 来宾 - 不合格的主机名

我有一台通过 vbox 运行 ubuntu 来宾的 win7 主机。它配置了桥接网络适配器,我使用 DHCP 将 192.168.0.5 的 ip 分配给映射到我的 windows 主机文件中的 smartstart.dev 的来宾。我还没有对 ubuntu 端的主机做任何事情。

我正在测试一个网站,需要 sendmail 工作。我已经安装了sendmail,但是没有发送邮件。当我查看邮件错误日志时,我可以看到很多这样的行:

Jan 14 17:00:01 djw-ss sm-msp-queue[2771]: My unqualified host name (djw-ss) unknown; sleeping for retry
Jan 14 17:01:02 djw-ss sm-msp-queue[2771]: unable to qualify my own domain name (djw-ss) -- using short name
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何让这个工作?奇怪的是我在另一个 vb 上有类似的设置 - 我认为我没有做过任何不同的事情,而且开箱即用。

virtualbox hostname 12.04 sendmail

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

标签 统计

sendmail ×9

cron ×3

email ×2

hostname ×2

syslog ×2

12.04 ×1

20.04 ×1

mail ×1

perl ×1

scripts ×1

smtp ×1

virtualbox ×1