标签: email-headers

将电子邮件作为服务发送给他人时,我应该使用Reply-To标头吗?

假设我们有一个充当中间人的应用程序,允许A公司向其客户发送报告.

公司A - >公司B(我) - >公司A的客户

收到报告后,我们会向收件人发送电子邮件通知,但这些通知必须来自我们公司的通知电子邮件地址,例如

joe.bloggs@a.com - > notifications@b.com - > peter@c.com

现在,客户倾向于回复这些电子邮件通知,希望他们回到在A公司发送报告的人.相反,他们最终回到我们的地址notifications@b.com.

一个简单的解决方案可能是更改我们发送到相关公司A地址的通知的回复标题,例如

joe.bloggs@a.com - > notifications@b.com [回复:joe.bloggs@a.com] - > peter@c.com

但我主要担心的是:

  • "发件人"和"回复"字段之间的电子邮件地址和域中的完全差异可能会使垃圾邮件或网络钓鱼过滤器更加渴望标记电子邮件
  • 当人们实际点击"回复"时,并非所有电子邮件客户端都会尊重"回复"字段,而只是使用"来自".一个较小的问题,除非普遍存在.

这些问题是否始终存在?或者,我应该有其他问题吗?

email spam email-headers phishing

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

来自PHP的电子邮件已破坏主题标题编码

我的PHP脚本向用户发送电子邮件,当电子邮件到达其邮箱时,主题行($subject)包含a^£添加到主题文本末尾的字符.这显然是编码问题.电子邮件内容本身很好,只是主题行被打破.

我已经搜遍了所有,但无法找到如何正确编码我的主题.

这是我的标题.请注意,我使用Content-Typecharset=utf-8Content-Transfer-Encoding: 8bit.

//set all necessary headers
$headers = "From: $sender_name<$from>\n";
$headers .= "Reply-To: $sender_name<$from>\n";
$headers .= "X-Sender: $sender_name<$from>\n";
$headers .= "X-Mailer: PHP4\n"; //mailer
$headers .= "X-Priority: 3\n"; //1 UrgentMessage, 3 Normal
$headers .= "MIME-Version: 1.0\n";
$headers .= "X-MSMail-Priority: High\n";
$headers .= "Importance: 3\n";
$headers .= "Date: $date\n";
$headers .= "Delivered-to: $to\n";
$headers .= "Return-Path: $sender_name<$from>\n";
$headers .= "Envelope-from: $sender_name<$from>\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-Type: …
Run Code Online (Sandbox Code Playgroud)

php encoding mime email-headers

51
推荐指数
3
解决办法
7万
查看次数

Python - 电子邮件头解码UTF-8

是否有任何Python模块有助于解码各种形式的编码邮件标题,主要是主题,简单 - 比如说 - UTF-8字符串?

以下是我拥有的邮件文件的示例主题标题:

Subject: [ 201105311136 ]=?UTF-8?B?IMKnIDE2NSBBYnM=?=. 1 AO;
Subject: [ 201105161048 ] GewSt:=?UTF-8?B?IFdlZ2ZhbGwgZGVyIFZvcmzDpHVmaWdrZWl0?=
Subject: [ 201105191633 ]
  =?UTF-8?B?IERyZWltb25hdHNmcmlzdCBmw7xyIFZlcnBmbGVndW5nc21laHJhdWZ3ZW5kdW4=?=
  =?UTF-8?B?Z2VuIGVpbmVzIFNlZW1hbm5z?=
Run Code Online (Sandbox Code Playgroud)

文本 - 编码的刺痛 - 文本

文本 - 编码的字符串

text - 编码的字符串 - 编码的字符串

Encodig也可能是ISO 8859-15之类的东西.

更新1:我忘了提,我试过了email.header.decode_header

    for item in message.items():
    if item[0] == 'Subject':
            sub = email.header.decode_header(item[1])
            logging.debug( 'Subject is %s' %  sub )
Run Code Online (Sandbox Code Playgroud)

这输出

DEBUG:root:Subject是[('[201101251025] ELStAM; =?UTF-8?B?IFZlcmbDvGd1bmcgdm9tIDIx?=.Januar 2011',无)]

这没有什么帮助.

更新2:感谢Ingmar Hupp的评论.

第一个示例解码为两个tupels的列表:

print decode_header("""[201105161048] GewSt:=?UTF-8?B?IFdlZ2ZhbGwgZGVyIFZvcmzDpHVmaWdrZWl0?=""")
[('[201105161048] GewSt:',None),('Wegfall der Vorl\xc3\xa4ufigkeit', 'UTF-8')]

这总是[(字符串,编码),(字符串,编码),...]所以我需要一个循环将所有[0]项连接到一个字符串或如何在一个字符串中得到它?

主题:[201101251025] ELStAM; =?UTF-8?B?IFZlcmbDvGd1bmcgdm9tIDIx?=.Januar 2011

解码不好: …

python email email-headers

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

检测Outlook自动回复/外出电子邮件

谷歌搜索,没有找到任何东西......

有没有人知道,如果有一种方法,给定一个Outlook电子邮件项目,以检测它是否是由"外出办公室助手"发送的?Outlook是否在对象或任何标题信息上设置了标识电子邮件的属性?我希望不必解析"外出"等主题.

如果有一些标准会很好,所以也可以检测到来自其他电子邮件服务(如Gmail)的自动回复,但对我来说,Outlook是最高优先级.

email-headers outlook-object-model

23
推荐指数
4
解决办法
3万
查看次数

python imaplib获取gmail收件箱主题标题和发件人姓名

我正在使用pythons imaplib连接到我的Gmail帐户.我想检索前15条消息(未读或读取,无关紧要)并仅显示主题和发件人姓名(或地址),但不知道如何显示收件箱的内容.

这是我到目前为止的代码(成功连接)

import imaplib

mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('mygmail@gmail.com', 'somecrazypassword')
mail.list()
mail.select('inbox')

#need to add some stuff in here

mail.logout()
Run Code Online (Sandbox Code Playgroud)

我相信这应该很简单,我对imaplib库的命令还不够熟悉.任何帮助都必须得到赞赏......

更新 感谢Julian我可以遍历每条消息并检索整个内容:

typ, data = mail.search(None, 'ALL')
for num in data[0].split():
   typ, data = mail.fetch(num, '(RFC822)')
   print 'Message %s\n%s\n' % (num, data[0][1])
mail.close()
Run Code Online (Sandbox Code Playgroud)

但我只想要主题和发送者.是否有针对这些项目的imaplib命令,或者我是否必须解析文本的全部内容[0] [1]:主题和发件人?

更新 确定,让主题和发件人部分工作,但迭代(1,15)由desc命令完成,显然首先显示最旧的消息.我怎么能改变这个?我试过这样做:

for i in range( len(data[0])-15, len(data[0]) ):
     print data
Run Code Online (Sandbox Code Playgroud)

但这只是给了我None所有15次迭代......任何想法?我也试过mail.sort('REVERSE DATE', 'UTF-8', 'ALL')但是gmail不支持.sort()函数

更新 找出一种方法:

#....^other code is the same as above except need to import email module …
Run Code Online (Sandbox Code Playgroud)

python gmail email-headers imaplib

22
推荐指数
3
解决办法
4万
查看次数

如何格式化包含逗号的电子邮件"发件人"标题

格式化"发件人"电子邮件标题的标准方法是

From: John Doe <john.doe@example.com>
Run Code Online (Sandbox Code Playgroud)

但如果名字中有逗号,该怎么办?

From: John Doe, chief bottle washer <john.doe@example.com>
Run Code Online (Sandbox Code Playgroud)

如果我这样做,我的MTA会自动将其转换为:

From: John@this.server.com, Doe@this.server.com, chief bottle washer <john.doe@example.com>
Run Code Online (Sandbox Code Playgroud)

我的第一个猜测是在全名周围使用双引号,但我找不到任何官方文档确认这一点,我希望所有电子邮件客户端都能阅读我的电子邮件.

email email-headers

21
推荐指数
3
解决办法
5542
查看次数

更改发件人名称php邮件而不是sitename@hostname.com

我想从我的php发送电子邮件:

$to = 'it@7sisters.in';
    $email_from = "info@7sisters.in";

    $full_name = 'Suraj Hazarika';
    $from_mail = $full_name.'<'.$email_from.'>';



    $subject = "testing sender name";
    $message = "";
    $message .= '
            <p><strong>This is only a test . Please do not reply.</strong><br />
    ';
    $from = $from_mail;

    $headers = "" .
               "Reply-To:" . $from . "\r\n" .
               "X-Mailer: PHP/" . phpversion();
    $headers .= 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";        
    mail($to,$subject,$message,$headers);
Run Code Online (Sandbox Code Playgroud)

我正在关注教程PHP电子邮件表单发件人姓名而不是电子邮件?但我仍然收到带有主机名的发件人姓名的电子邮件.

     From                              Date             Subject 
sisters@rsx02.justhost.com  Fri, 11:24 pm       testing sender …
Run Code Online (Sandbox Code Playgroud)

php email email-headers

20
推荐指数
4
解决办法
7万
查看次数

列表 - 取消订阅电子邮件标题.如何?

我正在尝试将List-Unsubscribe标头添加到正在发送的电子邮件中.到目前为止,我没有运气这么做.

到目前为止我得到了什么:

var mailMessage = new MailMessage
                    {
                        Subject = newsletter.Subject,
                        Body = newsLetterHTML,
                        IsBodyHtml = true,
                        Sender = new MailAddress(senderAddress)
                    };
                    mailMessage.To.Add(subscriber.Email);
                    mailMessage.ReplyToList.Add(senderAddress);
                    mailMessage.Headers.Add("List-Unsubscribe", unSubscribeUrl);
Run Code Online (Sandbox Code Playgroud)

unSubscribeUrl是一样的东西"www.example.com/unlist?id=8822772727".当我发送电子邮件时,一切正常,除了list-unsubscribe选项.哪个没有在任何邮件客户端中显示.

欢迎任何帮助!

更新
这是我用来发送电子邮件的完整代码:

var mailMessage = new MailMessage
                    {
                        Subject = newsLetter.Subject,
                        Body = newsLetterHTML,
                        IsBodyHtml = true,
                        Sender = new MailAddress(senderAddress)
                    };
                    mailMessage.To.Add(subscriber.Email);
                    mailMessage.ReplyToList.Add(senderAddress);
                    mailMessage.Headers.Add("List-Unsubscribe", String.Format("<{0}>", "http://www.foo.com/unlist?id=8888"));
                    mailMessage.HeadersEncoding = Encoding.Default;

                    var smtpClient = new SmtpClient();
                    smtpClient.Send(mailMessage);
Run Code Online (Sandbox Code Playgroud)

更新2
经过一番研究后,我将标题放入mailMessage中.当我发送电子邮件时,我可以看到以下标题:

List-Unsubscribe: <http://demo.localhost/home/hobbymap-gerard/afmelden-voor-nieuwsbrief?id=c786aeb0-554d-4670-94d8-82d6f25a050b>
MIME-Version: 1.0
From: info@test.nl
To: test@gmail.com
Reply-To: info@test.nl
Date: 8 …
Run Code Online (Sandbox Code Playgroud)

c# asp.net email email-headers

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

在Rails3/ActionMailer中设置Message-ID邮件头

我想改变Message-ID使用ActionMailer从Ruby on Rails v3应用程序发送的电子邮件的标题部分中的标题.

我在localhost上使用Sendmail进行邮件传递.

我在Sendmail或ActionMailer中配置它吗?

我在哪里配置它(如果它是ActionMailer):文件config/夹中的文件或app/mailers /文件夹中的文件?

actionmailer email-headers ruby-on-rails-3 rfc5322

14
推荐指数
4
解决办法
7166
查看次数

更正回复和转发电子邮件的标题

你是那个了解电子邮件的程序员吗?你能想到邮件标题,闭着眼睛写它们吗?也许你可以帮我解决这个问题.

让我解释 ...

工作流程

  • 邮件服务器接收电子邮件
  • PHP cronjob将所有来自IMAP的电子邮件导入MySQL数据库
  • 用户Inbox在我的应用程序中查找所有电子邮件

发送电子邮件

在同一个应用程序中,用户可以发送新的电子邮件.我已经使用以下代码片段处理了这个问题.

$message = \Swift_Message::newInstance()
    ->setSubject($form->get('subject')->getData())
    ->setFrom('me@example.com')
    ->setTo($form->get('to'))
    ->setBody(
        $this->renderView(
            'MailBundle:Email:contact.html.twig',
            array(
                'ip' => $request->getClientIp(),
                'name' => $form->get('to')->getData(),
                'message' => $form->get('message')->getData()
            )
        )
    )
;
Run Code Online (Sandbox Code Playgroud)

这很好用.如果提交了上述电子邮件,我会在IMAP发送文件夹中创建一封新电子邮件.反过来,它由PHP cronjob导入并放入MySQL数据库.它显示在我的应用程序中的已发送文件夹中.

问题

现在您对我的应用程序的工作方式有了一个大概的了解,我有一些我不太确定的事情.

  • 如何使用SwiftMailer创建对导入电子邮件的回复.
  • 如何使用SwiftMailer转发导入的电子邮件

我想将我的应用程序用作真正的邮件客户端,并希望正确设置邮件头等.

我当然可以发送一封电子邮件,其中包含原始邮件正文,主题前面带有"RE:".但我不确定是不是全部.我不知何故怀疑我需要做更多.

简而言之

我如何使用SwiftMailer来回复或转发保存在数据库中的电子邮件?

更新

我按照这个问题的答案建议实现了回复标题.我不确定这是否也适用于转发.我只是想确保邮件提供商不会阻止我的电子邮件,因为标题不正确.

php email email-headers

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