我正在尝试制作一个发送电子邮件的应用,MFMailComposeViewController但该类似乎没有提供设置电子邮件标头的方法.
我试图找到一个较低级别的解决方案(甚至是一个库)来完成这个但却找不到一个.如何在Objective-C应用程序中设置/获取电子邮件标头?
[编辑]为了清楚起见,我正在寻找一种通过MFMailComposeViewController提供的方式设置电子邮件标头的方法.我已经知道如何发送简单的电子邮件了.我正在寻找一种方法来设置电子邮件标题,如In-Reply-To或Message-ID
objective-c email-headers ios ios7 mfmailcomposeviewcontroller
当我将 $headers 数组指定为时,我无法通过 PHP 邮件功能发送电子邮件
$headers = array (
'From' => "info@mysite.com",
'Content-type' => "text/html;charset=UTF-8"
);
Run Code Online (Sandbox Code Playgroud)
或者
$headers=array(
'From: "info@mysite.com',
'Content-Type:text/html;charset=UTF-8',
'Reply-To: "info@mysite.com'
);
Run Code Online (Sandbox Code Playgroud)
这是代码
<?php
$email = 'test@test.com';
$headers=array(
'From: "info@mysite.com',
'Content-Type:text/html;charset=UTF-8',
'Reply-To: info@mysite.com'
);
$msg= 'This is a Test';
mail($email, "Call Back Requert Confirmation", $msg, $headers);
?>
Run Code Online (Sandbox Code Playgroud)
你能告诉我为什么会这样吗?我该如何解决这个问题?
这似乎很奇怪,但是我想知道是否可以向收件箱中已有的电子邮件添加自定义标题详细信息。就像可以说的那样,我希望在电子邮件的标题中添加类似内容-myvariable = myvalue,然后能够以某种方式进行查询。我正在查看Iloha邮件中的代码,标头中的大多数详细信息和收件者中的详细信息都在标题中,您可以搜索它们。那么是否可以将我自己的自定义变量添加到电子邮件标题并以相同的方式查询它?如何使用php完成?
编辑====================
谢谢,我知道您可以如何修改已发送邮件的标题,还可以查询邮件标题中的自定义变量,但是在这种情况下,我想知道是否有可能在收件箱中已收到的邮件中添加自定义变量。实际上,让我在这里定义情况。
我正在研究一种Google Apps解决方案,该解决方案需要维护对电子邮件的引用。基本上,应用程序是这样的,当收到电子邮件时-我们从该电子邮件中创建订单,并希望通过某种标识符来保持对该EXACT电子邮件的引用,这将使我们能够识别该电子邮件。
事实是,我们不想将电子邮件下载到数据库中并维护一个单独的存储,因为我们希望将所有电子邮件保留在GMAIL上。我们只需要:
一种能够永久“链接”到特定电子邮件的方法-UID只是一个序列号,并不是很可靠。我们找不到任何可以用作唯一ID或主键的电子邮件属性,因此我们考虑是否可以在终端生成密钥并将其存储在电子邮件本身的自定义变量中。但是,不幸的是,似乎没有一种方法可以处理已经存在的电子邮件的标题。
:(有没有解决此问题的方法,我可以使用任何IDEA!
我正在尝试发送带有希伯来语内容/主题的电子邮件,如下所示:
$to = 'email@email.com';
$subject = "???? ??? ??? ????";
$message = '??? ??? ???';
$headers = 'From: email@email.com' . "\r\n";
$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)
但是我在这个主题中得到的更多是克林贡语而不是现代希伯来语。消息本身很好,只是主题搞砸了。
我能做什么?(我对你的任何黑客攻击持开放态度)
我正在向程序发送电子邮件并运行一些代码.
**
**
#!/usr/bin/php -q
<?
$fd = fopen("php://stdin", "r");
while (!feof($fd)) {
$email .= fread($fd, 1024);
}
fclose($fd);
$lines = explode("\n", $email);
for ($i=0; $i < count($lines); $i++)
{
// look out for special headers
if (preg_match("/Subject:/", $lines[$i], $matches))
{
list($One,$Subject) = explode("Subject:", $lines[$i]);
list($Subject,$Gone) = explode("<", $Subject);
}
Run Code Online (Sandbox Code Playgroud)
等...我如何获取电子邮件的身体内容?
所以我生成了一个可能很长的 JSON 字符串,用于 Sendgrid 的 SMTP API。因为它是一个 SMTP 标头,所以它应该有一个最大行长度(推荐 72,但绝对不超过 1000)。末尾的文档中描述了一种简单的解决方案:
http://docs.sendgrid.com/documentation/api/smtp-api/developers-guide/
他们建议这样做:
$js =~ s/(.{1,72})(\s)/$1\n /g;
Run Code Online (Sandbox Code Playgroud)
但我不喜欢那样,因为它可能会在空格有意义的字符串中拆分。此外,当空间很少且距离很远时,性能似乎非常糟糕。
现在我正在使用 Ruby,我可以执行以下操作:
JSON.generate(@hash, options)
Run Code Online (Sandbox Code Playgroud)
在http://flori.github.com/json/doc/classes/JSON.html#method-i-generate 中记录的选项提供了不同的格式选项。但是这些都没有给我我想要的,这是每隔一段时间带有换行符的简洁 JSON。
有任何想法吗?
我们的网络应用程序代表其用户发送邮件。标头字段设置如下:
HEADERFIELD MAILADDRESS NAME
------------------------------------------------
from: [our mail address] [users name]
reply-to: [users mail address] [users name]
sender: [our mail address] [name of app]
Run Code Online (Sandbox Code Playgroud)
这运作良好,但在某些情况下,当收件人回复邮件时,回复会返回给我们(我们的邮件地址)。
这引出了我的问题:是否存在不尊重该reply-to领域的邮件客户端,或者我们是否必须在其他地方寻找解释?
这是一个电子邮件标题示例,
header = """
From: Media Temple user (mt.kb.user@gmail.com)
Subject: article: A sample header
Date: January 25, 2011 3:30:58 PM PDT
To: user@example.com
Return-Path: <mt.kb.user@gmail.com>
Envelope-To: user@example.com
Delivery-Date: Tue, 25 Jan 2011 15:31:01 -0700
Received: from :po-out-1718.google.com ([72.14.252.155]:54907) by cl35.gs01.gridserver.com with esmtp (Exim 4.63) (envelope-from <mt.kb.user@gmail.com>) id 1KDoNH-0000f0-RL for user@example.com; Tue, 25 Jan 2011 15:31:01 -0700
Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type; bh=+JqkmVt+sHDFIGX5jKp3oP18LQf10VQjAmZAKl1lspY=; b=F87jySDZnMayyitVxLdHcQNL073DytKRyrRh84GNsI24IRNakn0oOfrC2luliNvdea LGTk3adIrzt+N96GyMseWz8T9xE6O/sAI16db48q4Iqkd7uOiDvFsvS3CUQlNhybNw8m CH/o8eELTN0zbSbn5Trp0dkRYXhMX8FTAwrH0=
Domainkey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=wkbBj0M8NCUlboI6idKooejg0sL2ms7fDPe1tHUkR9Ht0qr5lAJX4q9PMVJeyjWalH 36n4qGLtC2euBJY070bVra8IBB9FeDEW9C35BC1vuPT5XyucCm0hulbE86+uiUTXCkaB 6ykquzQGCer7xPAcMJqVfXDkHo3H61HM9oCQM=
Message-Id: <c8f49cec0807011530k11196ad4p7cb4b9420f2ae752@mail.gmail.com>
Mime-Version: …Run Code Online (Sandbox Code Playgroud) 我希望加密某些在加密邮件中发送的邮件标头 (Subject和Reply-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) 我正在建立一家小型在线企业,并使用 wix.com 创建了一个网站。
我使用网站自动化创建了一些电子邮件触发器,这些触发器使用 ascendbywix.com 代表我的电子邮件域发送电子邮件。
客户收到电子邮件,说这是来自我的企业电子邮件。
对于我所有的 Gmail 客户和 yahoo 客户,电子邮件会转到他们的主收件箱,但对于 hotmail/outlook 客户,电子邮件会转到他们的垃圾邮件文件夹。
我已在 DNS 主机设置中设置了 SPF/DKIM/DMARC 记录,我认为这是正确的。
当我检查 hotmail 中的电子邮件标题时,有一些我不明白的反垃圾邮件消息,如下所示。
有人能理解电子邮件标头输出吗?或者看到任何他们认为会成为垃圾邮件原因的内容?
Received: from AM7EUR06HT029.eop-eur06.prod.protection.outlook.com
(2603:10a6:3:64::34) by HE1PR08MB2652.eurprd08.prod.outlook.com with HTTPS
via HE1PR0701CA0090.EURPRD07.PROD.OUTLOOK.COM; Thu, 4 Feb 2021 14:48:25 +0000
Received: from AM7EUR06FT016.eop-eur06.prod.protection.outlook.com
(2a01:111:e400:fc36::4a) by
AM7EUR06HT029.eop-eur06.prod.protection.outlook.com (2a01:111:e400:fc36::477)
with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11; Thu, 4 Feb
2021 14:48:24 +0000
Authentication-Results: spf=pass (sender IP is 147.253.213.104)
smtp.mailfrom=flyingenvelope.com; hotmail.com; dkim=pass (signature was
verified) header.d=marinovacreative.com;hotmail.com; dmarc=pass action=none
header.from=marinovacreative.com;compauth=pass reason=100
Received-SPF: Pass (protection.outlook.com: …Run Code Online (Sandbox Code Playgroud)email-headers ×10
email ×4
php ×4
dictionary ×1
email-spam ×1
encryption ×1
gmail ×1
html ×1
ios ×1
ios7 ×1
json ×1
mfmailcomposeviewcontroller ×1
objective-c ×1
outlook ×1
python ×1
rfc822 ×1
ruby ×1
sendgrid ×1
sendmail ×1
smime ×1
smtp ×1
wix ×1