AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[email](unix)

Martin Hope
Alex
Asked: 2024-10-19 01:11:59 +0800 CST

如何查看本地存储的 .EML 文件,就像它们在收件箱文件夹中一样?

  • 5

这可能是一个奇怪的问题。我使用网络邮件是因为它的便利性,为了避免存储空间已满,我会先将电子邮件导出到 .EML 文件,然后再从网络邮件中删除它们。

所以我有一个装满 .EML 文件的目录。有时我需要从此目录中查找旧电子邮件,所以我的问题是:

有没有办法可以简单地将该目录可视化为电子邮件客户端或网络邮件的收件箱文件夹?

我的意思是,目录的内容(数百个 .EML 文件)将像在收件箱中一样显示,其中包含电子邮件的标题、日期/时间、发件人姓名、电子邮件等,因此我可以快速浏览所有 .EML 文件并找到我需要的内容。

一个机器人要求我编辑问题以使其具体,但不知道如何使其更具体。

email
  • 1 个回答
  • 28 Views
Martin Hope
ecjb
Asked: 2024-06-08 20:57:43 +0800 CST

无法使用 neomutt 打开 .mbox 文件(尽管它适用于 mutt)

  • 7

无法使用 mutt 打开 .mbox 文件

我想打开.mbox从 Gmail 帐户下载的 10GB 文件。当我使用命令时

neomutt -f 10GB_mboxfile.mbox

neomutt 需要 10-20 秒才能打开,当最终打开时,应用程序中没有列出任何文件。我有以下虚拟文件.mbox(我从 gmail mbox 文件修改而来):

From 9999999999999999@xxx Tue Mar 09 17:00:00 +0500 2019  
X-GM-THRID: 99999999999999999
X-mail-Labels: Archived,Sent,Opened
MIME-Version: 1.0
Date: Tue, 09 Mar 2019 17:00:00 +0500
Message-ID: <[email protected]>
Subject: THETITLE
From: My Name <[email protected]>
To: [email protected]
Content-Type: multipart/alternative; boundary="0000000000009999999999999"

--0000000000009999999999999
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable


ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ da=
s ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

--0000000000009999999999999
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div>ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ=
ZZ das ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ=
>

--0000000000009999999999999--

我尝试使用 neomutt 打开它,如下所示:

neomutt -f themboxfile.mbox

neomutt 打开了,但应用程序中没有列出任何消息。如何使用 neomutt 打开此文件?(虽然使用 mutt 可以打开同一个文件...)

email
  • 1 个回答
  • 98 Views
Martin Hope
mgw
Asked: 2024-04-21 18:06:59 +0800 CST

由于使用通讯组列表时感知到的标头语法错误,来自各种基于 Linux 的系统拒绝的电子邮件

  • 5

我错过了什么...

给出:基于 Linux 堆栈的电子邮件服务器系统(托管),带有 Webmail 组件。各种电子邮件客户端和其他网络邮件系统都涉及并对此进行了测试。

我们使用网络邮件客户端通过分发列表分发电子邮件。邮件系统发送类似于以下示例的电子邮件(从源电子邮件标头复制)。organisation通讯组列表的名称在哪里:

Date: Sat, 20 Apr 2024 18:35:45 +0200
Message-ID: <[email protected]>
From: [email protected]
To: organisation: [email protected], [email protected];
Subject: here goes the subject

到目前为止,一切顺利,电子邮件发送正常(甚至发送到 GMX 邮箱),并且没有收到“无法发送的电子邮件”消息。

问题

接下来,从某些电子邮件客户端或网络邮件系统(例如 GMX 网络邮件)回复“所有人”会导致明显错误的标头(而使用例如 Thunderbird 会产生正确的格式)。这些回复会被某些系统拒绝;示例消息:

您的电子邮件已被我们的邮件系统拒绝,因为电子邮件标头中提供的信息不符合 RFC 5322 和 RFC 2047 中的规范。标头字段“收件人”在语法上不正确。

有问题的电子邮件标题如下所示(请特别注意“To:”行):

Received: from ...
Reply-To: ...
From: <[email protected]>
To: <[email protected]>, <organisation: [email protected]>;
References: <[email protected]>
In-Reply-To: <[email protected]>
Subject: AW: here goes the subject

显然,某些邮件客户端将提供的通讯组列表名称解释为第一个收件人的电子邮件地址的一部分。

目前的问题是:(1)谁是罪魁祸首?(2)正确的格式是什么?(3) 分发原始消息的服务器是否未遵循某些 RFC,或者这是邮件客户端或邮件系统中的故障?

=====最后修改=====

这显然是部落的一个错误。票提出了。

email
  • 2 个回答
  • 98 Views
Martin Hope
fauve
Asked: 2024-03-30 21:06:00 +0800 CST

使用 fetchmail 仅检索一个特定帐户的邮件

  • 6

情况

我有以下内容~/.fetchmailrc

poll pop.gmail.com       protocol pop3 user "[email protected]"      password "***"            ssl
mda "/usr/bin/procmail -d default -a foo@example-com"

poll pop.gmail.com       protocol pop3 user "[email protected]"      password "***"            ssl
mda "/usr/bin/procmail -d default -a bar@example-com"

因此,我检索所有带有fetchmail -v -m '/usr/bin/procmail -d %T'.

问题

但问题是所有账户都被找回了。

问题

fetchmail 命令是否可以要求仅检索一个特定地址的邮件?

email
  • 1 个回答
  • 34 Views
Martin Hope
Ray Andrews
Asked: 2024-02-08 05:11:44 +0800 CST

将电子邮件(.eml 文件)导出/转换为纯文本

  • 6

我有一份古老的电子邮件档案,我想将它们合并成一个大的快乐文本文件,可以吗?我注意到,当我查看电子邮件并剪切和粘贴内容时,我得到的正是我想要的内容——所有格式都消失了,我有了一个可读的文本文件,所有元数据和所有 HTML 内容都消失了。我看过“html2text”,但它保留了所有标签,而我本以为它会删除它们。我可以查看、剪切和粘贴,但这需要很长时间。

顺便说一句,如果重要的话我会使用 Thunderbird。我不认为我可以在程序中执行此操作,这将是我期望的一些命令行实用程序。

email
  • 2 个回答
  • 69 Views
Martin Hope
Alexander Petrov
Asked: 2023-12-07 05:36:56 +0800 CST

根据内容将邮件从一个收件箱拆分到另外 2 个收件箱

  • 5

有没有一种方法可以通过 Postfix 和/或 procmail 或其他软件将电子邮件从一个收件箱转发到另外 2 个收件箱,其中每封邮件根据内容发送到一个收件箱或另一个收件箱。有时消息是多部分的,并且关键字位于第一部分内。

email
  • 1 个回答
  • 24 Views
Martin Hope
CatchAsCatchCan
Asked: 2023-09-04 16:40:23 +0800 CST

使用 mailx 发送邮件时如何包含显示名称

  • 6

我正在使用 mailx 从脚本发送电子邮件。该脚本每天由 systemd 使用 .service 和 .timer 文件运行。出于测试目的,我从命令行发送。

邮件是通过命令发送的

echo "Test message - you know the drill" | mailx -r "[email protected]" -s "Test Message" [email protected]

(出于隐私考虑,替换了个人数据)

这有效。它通过 postfix 中继到我的网关服务器(也是 postfix),该服务器对传出消息进行签名。然后,该邮件会传送到 GMail,GMail 会验证 SPF 数据和 DKIM 签名,并将邮件传送到我的收件箱。

这很好,除了显示为Ubuntu <[email protected]>

我有其他服务器通过相同的方法发送邮件,并且它们都显示类似。

我想将每个服务器的显示名称更改为更有用的名称。例如,但我正在做的事情是在地址传输到网关服务器时Web Server <[email protected]>弄乱地址。From

我试过了

echo "Test message - you know the drill" | mailx -r "Web Server [email protected]" -s "Test Message" [email protected]

和

echo "Test message - you know the drill" | mailx -r "Web Server <[email protected]>" -s "Test Message" [email protected]

但在这两种情况下,本地 PostFix 都会以某种方式丢失发件人地址,并且发送到网关服务器的消息from的地址[email protected]为smtp.private.example.uk网关服务器的 FQDN。该邮件被发送到 GMail,但未通过 SPF 和 DKIM 测试,因此被毫不客气地丢弃在垃圾邮件中。(我不知道本地postfix是如何获取网关服务器的名称的)

那么,如何将显示名称添加到传递给 mailx 的参数中,以便它能够在从服务器到服务器的过程中幸存下来并由 GMail 正确显示?

Mailx 版本 3.14 (GNU Mailutils) Ubuntu 22.04

我只main.cf对 PostFix 进行了一项更改:为网关服务器添加了中继主机地址。

email
  • 1 个回答
  • 31 Views
Martin Hope
Kusalananda
Asked: 2023-08-30 22:15:19 +0800 CST

用“notmuch”标记邮件将其标记为旧邮件

  • 5

在与本地 maildir 收件箱同步并使用+offlineimap执行垃圾邮件过滤和排序后,我使用 标记邮件存储中的邮件。fdmbogofilternotmuch

直到最近,我还使用以下 shell 代码根据某些条件来标记和重新标记消息:

notmuch new

tr -s '\t' ' ' <<'END_BATCH' | notmuch tag --batch
-inbox +sent            -- folder:/Sent/
-inbox +archive         -- folder:/Archive/
-inbox +junk            -- folder:/Junk/
+unsorted               -- folder:/INBOX.Unsorted/
-unsorted               -- not folder:/INBOX.Unsorted/
-unread -- tag:archive
+unread -- tag:unsorted
END_BATCH

这将从、或文件夹inbox中的任何邮件中删除标签,同时使用这三个文件夹的适当标签重新标记邮件。然后,它根据消息是否位于文件夹(我放置无法分类的消息的位置)中来标记或取消标记消息。最后,我确保已归档的消息不会被标记为 ,并且未排序的消息会被标记为。SentArchiveJunkINBOX.Unsortedbogofilterunreadunread

这很有效。

由于我通过五个不同的帐户接收邮件,因此我还想根据文件夹名称向邮件添加诸如 等标签account-somename:account-othername

notmuch new

tr -s '\t' ' ' <<'END_BATCH' | notmuch tag --batch
-inbox +sent            -- folder:/Sent/
-inbox +archive         -- folder:/Archive/
-inbox +junk            -- folder:/Junk/
+unsorted               -- folder:/INBOX.Unsorted/
-unsorted               -- not folder:/INBOX.Unsorted/
-unread -- tag:archive
+unread -- tag:unsorted
+account-acc1           -- folder:/acc1/
+account-acc2           -- folder:/acc2/
+account-acc3           -- folder:/acc3/
+account-acc4           -- folder:/acc4/
+account-acc5           -- folder:/acc5/
END_BATCH

标记似乎按预期执行,但副作用是新邮件被标记为旧邮件(从 maildir 的new目录移动到该cur目录)。这反过来意味着mutt不会检测收件箱中的新消息(除非我maildir_check_cur在mutt配置中进行设置,我认为这不是一个很好的解决方案)。

我不知道为什么或者我能做些什么来阻止这种情况发生。

我的notmuch配置:

[database]
path=/home/myself/Mail/inboxes

[user]
name=myname
[email protected]
[email protected]

[new]
tags=inbox;unread

[search]

[maildir]
syncronize_flags=true

[index]
header.List=List-Id
email
  • 1 个回答
  • 30 Views
Martin Hope
showkey
Asked: 2023-08-24 20:52:05 +0800 CST

安装msmtp后如何使用mail命令向root发送电子邮件?

  • 5

安装一个简单的 SMTP 客户端:

sudo apt install msmtp  msmtp-mda

在 msmtprc 中设置::

cat   .msmtprc
account default
host smtp.qq.com
from [email protected]
auth on
tls on
tls_certcheck off
user [email protected]
password  xxxx
logfile ~/.msmtp.log

我可以用qq账号发邮件。

echo "Testing msmtp " | mail -s "hi root" -r [email protected]   -- [email protected]

该电子邮件可以在雅虎电子邮件中找到。
我发现一个新问题,用户无法向系统中的 root 发送电子邮件!

echo "cron task work done " | mail -s "hi root" root
mail: cannot send message: Process exited with a non-zero status

检查日志:

Aug 24 20:47:31 host=smtp.qq.com tls=on auth=on [email protected] [email protected] [email protected] smtpstatus=501 smtpmsg='501 Mail from address must be same as authorization user.' errormsg='envelope from address [email protected] not accepted by the server' exitcode=EX_DATAERR

echo "cron task work done " | mail -s "hi root" -r [email protected]  root

日志信息:

Aug 29 06:56:39 host=smtp.qq.com tls=on auth=on [email protected] [email protected] [email protected] smtpstatus=501 smtpmsg='501 Mail from address must be same as authorization user.' errormsg='envelope from address [email protected] not accepted by the server' exitcode=EX_DATAERR

每次调用mail命令时,它都会中继到外部主机smtp.qq.com,即使我指定返回主机为[email protected],如何使mail命令在系统中的用户和root之间发送电子邮件?我发现安装 msmtp-mda 时 postfix 或 exim4 将被删除,这一事实可能与我的问题有关。

email
  • 1 个回答
  • 60 Views
Martin Hope
achhainsan
Asked: 2023-08-06 13:32:41 +0800 CST

一旦磁盘空间超过 90%,发送警报邮件的脚本就会发送磁盘已满,即使磁盘未满,如何解决此问题?

  • 5
#!/bin/bash

df -m > myfile
server_ip_address=$(ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | head -n 1 | awk '/inet/ {print $2}' | cut -d'/' -f1)

if awk '$2 > 10000 && $5 > 90' myfile ; then
    echo "Disk Full in $server_ip_address"
else
    echo "Nothing wrong with the server"
fi

当我执行脚本时,输出总是显示磁盘已满?df -m 的输出如下所示:

Filesystem              1M-blocks   Used Available Use% Mounted on
/dev/mapper/centos-root    949305 512827    436479  55% /
devtmpfs                     3811      0      3811   0% /dev
tmpfs                        3823      0      3823   0% /dev/abc
tmpfs                        3823     18      3806   1% /run
tmpfs                        3823      0      3823   0% /sys/fs/cgroup
/dev/sda2                    1014    175       840  18% /boot
/dev/sda1                    1022     12      1011   2% /boot/efi
tmpfs                         765      0       765   0% /run/user/2000

df -m 的输出因服务器而异。因此,我比较 Size>10GB 和 Use%>90%。由于某些大小 <10GB 的磁盘对于磁盘使用率低于 90% 来说可能并不重要。

更新1:

GNU bash,版本 4.2.46(2)-release (x86_64-redhat-linux-gnu)

操作系统是centos 7

当前代码的问题:

我需要从第二行到最后一行的列进行比较,但我当前的代码正在比较第一行的列,这就是为什么我认为它不起作用。如何解决问题?

email
  • 1 个回答
  • 71 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve