我这里有一个很烦人的问题。我一直在测试一个应用程序并创建了一些测试电子邮件到伪造的电子邮件地址(更不用说我的服务器并没有真正设置为发送电子邮件)。当然,sendmail无法发送这些消息,并且它们一直被困在sendmail队列中。我想手动删除队列中堆积的消息,而不是等待sendmail通常需要5 天才能停止重试。
我正在使用 Ubuntu 10.04,并且/var/spool/mqueue/我读过的每个操作方法都在该目录中显示了排队的电子邮件。当我删除此目录中的文件时,sendmail停止尝试处理电子邮件,直到似乎是 cron 脚本运行并使用我不想发送的消息重新填充此目录。以下是我的一些台词syslog:
Jun 2 17:35:19 sajo-laptop sm-mta[9367]: o530SlbK009365: to=, ctladdr= (33/33), delay=00:06:27, xdelay=00:06:22, mailer=esmtp, pri=120418, relay=e.mx.mail.yahoo.com. [67.195.168.230], dsn=4.0.0, stat=Deferred: Connection timed out with e.mx.mail.yahoo.com.
Jun 2 17:35:48 sajo-laptop sm-mta[9149]: o4VHn3cw003597: to=, ctladdr= (33/33), delay=2+06:46:45, xdelay=00:34:12, mailer=esmtp, pri=3540649, relay=mx2.hotmail.com. [65.54.188.94], dsn=4.0.0, stat=Deferred: Connection timed out with mx2.hotmail.com.
Jun 2 17:39:02 sajo-laptop CRON[9510]: (root) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] …
有没有一个简单的命令可以找出linux邮件队列中的当前消息数?mailq转储出详细列表,但不便于快速概览。
我正在使用 Ubuntu 和 postfix。
完全重新安装后,我们遇到了配置问题:发件人地址错误,一些收件人(邮件服务器)拒绝了他们。
所以有一堆邮件卡在 Postfix 队列中。
理想情况下,直接在排队的邮件中更改发件人地址,然后刷新队列将是最佳选择。
我尝试了这个解决这个问题的答案。但是在我拥有的版本 (2.11.0) 中,消息似乎不容易修改。
例如,没有/var/spool/mqueue目录,而是,/var/spool/postfix/...
active
bounce
corrupt
defer
deferred
dev
etc
flush
hold
incoming
lib
maildrop
pid
private
public
saved
trace
usr
Run Code Online (Sandbox Code Playgroud)
并且感兴趣的目录是deferred. 我试图修改那里的一些文件,用正确的域更改错误的域(并小心地确保只更改了那些域)。
但是随后,这些邮件被移至corrupt,这意味着简单的文本更改似乎不起作用(使用 完成vi)。
任何其他更简洁的方法来更改排队邮件中的发件人?
我的服务器上的负载非常高,即使似乎没有太多磁盘活动并且 CPU 处于空闲状态。使用 sar,我可以看到运行队列已满,但是有什么方法可以查看运行队列中的内容吗?
在向我们的本地 Postfix 服务器提交个人电子邮件时,我们看到一些(也许?)奇怪的延迟。
为了帮助诊断问题,我编写了一个发送 5 封电子邮件的小测试程序:
get smtp 1ms ( 1 ms)
email 0 677ms (676 ms)
email 1 802ms (125 ms)
email 2 890ms ( 88 ms)
email 3 973ms ( 83 ms)
email 4 1088ms (115 ms)
Run Code Online (Sandbox Code Playgroud)
算上第一封电子邮件中的握手,每封电子邮件大约需要 90 毫秒。这些时间也得到了其他人使用不同代码路径编写的另一个测试应用程序的证实,因此它似乎与服务器相关。
我打开了详细日志记录,我可以看到延迟在消息结束\r\n\r\n和接收之间:
[16:31:29.95] [SEND] \r\n.\r\n
[16:31:30.05] [RECV] 250 2.0.0 Ok: queued as B128E1E063\r\n
[16:31:30.08] [SEND] \r\n.\r\n
[16:31:30.17] [RECV] 250 2.0.0 Ok: queued as 4A7DE1E06E\r\n
[16:31:30.19] [SEND] \r\n.\r\n
[16:31:30.27] [RECV] 250 2.0.0 Ok: queued as 68ACC1E072\r\n
[16:31:30.28] [SEND] …Run Code Online (Sandbox Code Playgroud) 有时,邮件会卡在我的 postfix 队列中,远处的服务器会说“连接太多,速度变慢”。我已经将特定域的 postfix 配置为每秒仅发送一封邮件,但有时似乎不够。
我知道postqueue -f,但它同时发送所有邮件,并且邮件以相同的状态保持在队列中。
我想一次刷新一封邮件的后缀队列,假设每秒一封邮件(或 2 封或更多)。
是否可以更改已经排队的邮件的发件人地址?
到目前为止,我们使用的中继服务器在几天前悄悄改变了它的策略,现在拒绝没有经过验证的发件人地址的邮件。我们现在已经调整了 sendmail 的设置,但是一些带有旧发件人地址的邮件已经卡在队列中 ( Sender address rejected: unverified address)。我可以更改他们的发件人地址吗?
我制作了一个 AWS Beanstalk 和 RDS 实例。我正在测试一个同步 FTP 和 S3 文件的项目。
我如何在 AWS Beanstalk 中制作典型php artisan queue:work或php artisan queue:listen工作?
我知道 Redis、ElastiCache 等。我还没有测试过它们。但我试图让它database只与驱动程序一起工作。
我也知道只访问 SSH,但是有没有办法在不使用 SSH 的情况下处理排队的作业?也许喜欢使用 .ebconfig?
我已经成功地让 Samba 和 CUPS 协同工作,为 Windows 客户端(自 95 以来的任何变体的 IA32 和 x64)提供良好、一致的打印界面,仅使用 Postscript 驱动程序。 smb.conf 的打印相关部分是:
[global]
load printers = yes
printing = cups
printcap name = cups
Run Code Online (Sandbox Code Playgroud)
后来这些分享:
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
Run Code Online (Sandbox Code Playgroud)
这成功地枚举了所有 CUPS 打印机,并且客户端可以正常打印。
我遇到的问题是,Windows 客户端除了自己的作业之外几乎看不到队列中的任何作业,而且只在很短的时间内看到,大概是在作业假脱机到服务器时。这会产生连锁反应,如果有人想取消其中一项工作,他们要么关闭打印机电源(!),要么要求我这样做。
我的印象是, …
出于某种原因,我们其中一个应用程序池中的请求今天开始“挂断”。CPU 使用率很低,内存消耗也很低,但工作人员中的请求正在进入并排队;它们都停留在“ExecuteRequestHandler”状态。
我们可以回收池,事情可以工作一分钟,但是东西又开始排队了。当您访问一个页面时,您永远不会遇到任何错误,浏览器加载图标只是不停地旋转而没有任何反应(无限期)。
应用程序池设置为“无托管代码”并处于“经典”模式。我们使用诸如 IIS 重写工具之类的东西,但我们不运行任何 ASP.NET;我们所有的网站都是静态 HTML 或 Coldfusion 9。
只是想知道是否有其他人遇到过类似的问题,请求在 IIS 工作器中像这样排队......
queue ×10
postfix ×3
linux ×2
sendmail ×2
amazon-ec2 ×1
coldfusion ×1
cups ×1
email ×1
email-server ×1
iis ×1
iis-7.5 ×1
printing ×1
samba ×1
sar ×1