标签: rfc822

如何在Windows上优雅地在Perl中打印%z(时区)格式?

如何在Perl中优雅地以RFC822格式打印日期的分支,但Windows具体.

在Windows上:

    C:\> perl -MPOSIX
    print strftime('%z', localtime()),"\n";

产量:

    Central Daylight Time

我在期待:

    -0500

任何人都会在Linux系统上.如何在Windows上获得"-0500"?

更新:

这样做真的很糟糕吗?(假设我不允许安装DateTime或以任何方式打包它)

C:\> perl -MPOSIX
sub tzoffset {
    my $t = time();
    my $utc = mktime(gmtime($t));
    my $local = mktime(localtime($t));

    return ($local - $utc);
}

sub zformat {
    my ($tzoffset) = @_;
    my $z = '';
    if ($tzoffset < 0) { 
        $z .= '-';
        $tzoffset *= -1;
    } 
    my $hours = floor($tzoffset / 60 / 60);
    my $minutes = $tzoffset - $hours …
Run Code Online (Sandbox Code Playgroud)

windows perl timezone rfc822

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

如何从 Python 中的 RFC 2822 邮件标头中提取多个电子邮件地址?

Python 的email模块非常适合解析头文件。但是,To:header 可以有多个接收者,也可能有多个To:header。那么如何拆分每个电子邮件地址呢?我不能在逗号上拆分,因为可以引用逗号。有没有办法做到这一点?

演示代码:

msg="""To: user1@company1.com, "User Two" <user2@company2.com", "Three, User <user3@company3.com>                               
From: anotheruser@user.com                                                                                                      
Subject: This is a subject                                                                                                      

This is the message.                                                                                                            
"""

import email

msg822 = email.message_from_string(msg)
for to in msg822.get_all("To"):
    print("To:",to)
Run Code Online (Sandbox Code Playgroud)

电流输出:

$ python x.py
To: user1@company1.com, "User Two" <user2@company2.com", "Three, User <user3@company3.com>
$ 
Run Code Online (Sandbox Code Playgroud)

python email rfc822

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

在 Python 中如何将 `email.message.Message` 对象转换为 `email.message.EmailMessage` 对象

根据我的理解mbox,Python 3.6 标准库中的类生成类型为 的旧式消息对象email.message.Message

email.message.EmailMessage3.4/3.6 中引入的较新类提供了对消息内容的更轻松访问(通过get_content()get_body())。如何email.message.Message将从mbox迭代器获得的对象转换为email.message.EmailMessage对象?

python email rfc822 python-3.x

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

在Ruby中将RFC2822时间强制为“ +0000”时区

我该如何强制该Time.rfc2822功能吐出+0000

Ruby让我很容易地解析RFC2822格式化时间:

require 'time'
time = Time.parse('14 Aug 2009 09:28:32 +0000')
puts time
=> "2009-08-14 05:28:32 -0400"
Run Code Online (Sandbox Code Playgroud)

但是显示时间呢?请注意,它解析的时间是本地时间。不用担心,我可以使用以下命令将其转换为UTC时间gmtime

puts time.gmtime
=> "2009-08-14 09:28:32 UTC"
Run Code Online (Sandbox Code Playgroud)

然后,我可以将其放回RFC2822格式:

puts time.gmtime.rfc2822
=> "Fri, 14 Aug 2009 09:28:32 -0000"
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不是我想要的。请注意,+0000现在是-0000。根据RFC2822,这是因为:

格式“ +0000”应用于表示世界标准时间。尽管“ -0000”也表示世界标准时间,但它用于指示时间是在可能位于世界标准时间以外的本地时区的系统上生成的,因此指示日期时间不包含有关当地时间的信息。区。

太好了- +0000除了猴子修补rfc2822功能,我该如何强制?

ruby formatting time rfc822 rfc2822

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

Saxon XSLT 2.0和RFC 822日期格式

将xs:dateTime格式化为RFC 822的正确方法是什么?

xslt saxon rfc822 xslt-2.0 xpath-2.0

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

是否有不推荐使用的rfc822.AddressList等效项?

我需要类似rfc822.AddressList的内容来将电子邮件的“ TO”标头字段的内容解析为单个地址。由于不建议使用rfc822支持电子邮件软件包,因此我在该处查找了类似的内容,但找不到任何东西。有人知道我应该用什么吗?

谢谢!

python email email-parsing rfc822

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

root @ [127.1]是一个语法上有效的电子邮件地址吗?

root@[127.1]一个语法上有效的电子邮件地址?

为什么?为什么不?

email standards rfc email-validation rfc822

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

解析类似电子邮件的标头(类似于 RFC822)

问题/疑问

我想解析一个机器人信息数据库。据说类似于RFC822消息

在我重新发明轮子并编写自己的解析器之前,我想我应该看看是否有其他可用的东西。我偶然发现imap_rfc822_parse_headers(),这似乎正是我想要的。不幸的是,IMAP 扩展在我的环境中不可用。

我在网上和 Stack Overflow 上看到了很多替代方案。不幸的是,它们都是为电子邮件而构建的,并且做的事情超出了我的需要......经常解析整个电子邮件并以特殊方式处理标头。我只想简单地将这些标头解析为有用的对象或数组。

是否有可用的直接 PHP 版本imap_rfc822_parse_headers(),或者类似的东西可以解析这样的数据?如果没有,我会自己写。

样本数据

robot-id: abcdatos
robot-name: ABCdatos BotLink
robot-from: no
robot-useragent: ABCdatos BotLink/1.0.2 (test links)
robot-language: basic
robot-description: This robot is used to verify availability of the ABCdatos
                   directory entries (http://www.abcdatos.com), checking
                   HTTP HEAD. Robot runs twice a week. Under HTTP 5xx
                   error responses or unable to connect, it repeats
                   verification some hours later, verifiying if that was a
                   temporary situation.
robot-history: This …
Run Code Online (Sandbox Code Playgroud)

php regex parsing rfc822

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

Gmail是否为内联附件设置了无效的Content-ID标头?

精简版

附件上的Content-ID标头必须是表单local-part "@" domain.Gmail的Content-ID中没有内容@.这是一个真正的错误,还是我误读了规范?

长版

当我尝试重新发送从Gmail发送的附有内联图片的电子邮件时,我发现了这个问题.我的邮件程序(SwiftMailer)声称Content-ID无效.

这是我正在使用的电子邮件.我是通过在Gmail中插入内嵌图像并通过电子邮件发送给自己来创建的.

以下是规范的相关部分(据我所知):

RFC 2045

Content-ID Header Field

In constructing a high-level user agent, it may be desirable to allow
one body to make reference to another.  Accordingly, bodies may be
labelled using the "Content-ID" header field, which is syntactically
identical to the "Message-ID" header field:

 id := "Content-ID" ":" msg-id
Run Code Online (Sandbox Code Playgroud)

RFC 822 在这里这里

msg-id      =  "<" addr-spec ">"            ; Unique message id

addr-spec   =  local-part "@" …
Run Code Online (Sandbox Code Playgroud)

gmail mime rfc822 mime-message

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

加密标头 S/MIME 消息/rfc822

我希望加密某些在加密邮件中发送的邮件标头 (SubjectReply-To)。我正在使用整个 MIME(包括标头)并成功对其进行加密。我可以成功地将此 S/MIME 加密邮件发送到我的邮件客户端 (Thunderbird)。它将成功解密并验证为已签名。

但是,我的邮件客户端不使用在内部加密 MIME 中发送的任何标头。

根据RFC-5751,我应该将我的邮件包装在一条message/rfc822消息中,但我不知道如何实现这一点。

以下是我正在创建的消息示例。

我的第一个问题是,我创建的最后一个 MIMEmessage/rfc822是否结构正确?这可能是邮件客户端的问题吗?我可以对Reply-To标题进行事件加密吗?

如果我能得到一个mesage/rfc822封装消息的例子,那将非常有帮助。

要加密的邮件

这将成功生成已签名的接收邮件,并且邮件客户端正确解释了Subject/Reply-To标头。

Content-Type: multipart/signed; protocol="application/pkcs7-signature";
 micalg=sha256; boundary="--_NmP-d017e0e3556f7bbc-Part_1"
From: sender@domain.com
Sender: senderdomain.com
To: recipient@domain.com
Reply-To: keepsecret@domain.com
Subject: A Secret Subject
Message-ID: <400b1383-362b-eed7-0719-6b2a2e231143>
Date: Mon, 24 Feb 2020 15:59:19 +0000
MIME-Version: 1.0

----_NmP-d017e0e3556f7bbc-Part_1
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

My Message that will be encrypted

----_NmP-d017e0e3556f7bbc-Part_1
Content-Type: application/pkcs7-signature; name=smime.p7s
Content-Transfer-Encoding: base64
Content-Disposition: …
Run Code Online (Sandbox Code Playgroud)

email encryption smime email-headers rfc822

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