有一个新的gmail API.这会取代IMAP和POP吗?是否存在一个优于另一个的情况?
我收到的不仅仅是针对我尝试使用Gmail API检索的邮件的文本数据片段.这是我正在使用的测试代码:
public string GetMail()
{
GmailService service = (GmailService)HttpContext.Current.Session["service"];
Message messageFeed = service.Users.Messages.List("me").Execute().Messages.First();
UsersResource.MessagesResource.GetRequest getReq = new UsersResource.MessagesResource.GetRequest(service, "me", messageFeed.Id);
getReq.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Full;
Message message = getReq.Execute();
return message.Raw;
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,当我调用message.Raw时,它返回null.我可以检索其他属性,格式=最小设置将基于我正在玩的API游乐场示例.
但是在我的代码中,我将格式枚举设置为"full",但我仍然无法检索消息的完整数据.
我在这里完全遗漏了什么吗?
如何使用gmail api php发送电子邮件
$msg['raw'] = "This is sample test message";
$msg['To'] = "test.api@gmail.com";
$msg['subject'] = "Sample test subject";
Run Code Online (Sandbox Code Playgroud)
目前我正在使用$ message = $ service-> users_messages-> send('me',$ msg);
主题是什么?
我创建了一个使用OAuth 2.0与Gmail API连接的脚本.它工作正常,我可以从经过身份验证的帐户发送电子邮件.
但是,我无法从任何帐户的别名发送电子邮件.如果我尝试这样做,我收到以下错误消息:
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "[ACCOUNT] does not have privileges to [ALIAS] mailbox."
}
],
"code": 403,
"message": "[ACOUNT] does not have privileges to [ALIAS] mailbox."
}
}
Run Code Online (Sandbox Code Playgroud)
我已经验证了别名是在Gmail和Google Apps中设置的.
有人有主意吗?
我正在玩GMAIL API来创建一个应用程序来从我的服务器发送自动电子邮件.以简单用户身份运行我的应用程序具有以下结果:
pankgeorg@snf-25181:~/tomotech/gmailer$ python mailer.py
Traceback (most recent call last):
File "mailer.py", line 36, in <module>
gmail_service = build('gmail', 'v1', http=http)
File "/usr/local/lib/python2.7/dist-packages/oauth2client-1.4.5-py2.7.egg/oauth2client/util.py", line 135, in positional_wrapper
File "/usr/local/lib/python2.7/dist-packages/google_api_python_client-1.3.1-py2.7.egg/googleapiclient/discovery.py", line 198, in build
File "/usr/local/lib/python2.7/dist-packages/oauth2client-1.4.5-py2.7.egg/oauth2client/util.py", line 135, in positional_wrapper
File "/usr/local/lib/python2.7/dist-packages/oauth2client-1.4.5-py2.7.egg/oauth2client/client.py", line 547, in new_request
File "/usr/local/lib/python2.7/dist-packages/httplib2-0.9-py2.7.egg/httplib2/__init__.py", line 1593, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "/usr/local/lib/python2.7/dist-packages/httplib2-0.9-py2.7.egg/httplib2/__init__.py", line 1335, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "/usr/local/lib/python2.7/dist-packages/httplib2-0.9-py2.7.egg/httplib2/__init__.py", line …Run Code Online (Sandbox Code Playgroud) 我收到一个错误:
"无法加载文件或程序集'System.Net.Http.Primitives,Version = 4.2.22.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项.系统找不到指定的文件.":"System.Net .Http.Primitives,Version = 4.2.22.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"}
运行以下代码:
base.Initialize(name, config);
_emailAddress = Settings.EmailAddress;
string clientSecret = Settings.ClientSecret;
string clientId = Settings.ClientId;
Task<UserCredential> tCredential;
ClientSecrets clientSecrets = new ClientSecrets {ClientId = clientId, ClientSecret = clientSecret};
tCredential = GoogleWebAuthorizationBroker.AuthorizeAsync(
clientSecrets,
Scopes,
"user",
CancellationToken.None);
UserCredential credential;
try
{
credential = tCredential.Result;
}
catch (Exception ex)
{
throw;
}
_service = new GmailService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Draft Sender", //applicationName,
});
Run Code Online (Sandbox Code Playgroud)
有关如何解决此错误的任何想法?
我尝试根据 …
我正在构建一个脚本,以便每天自动将我的电子邮件从一个标签移动到下一个标签(以便标记为"5天"的邮件将自动标记为"4天",然后标记为"3天"之后的第二天,等等).
问题是它将标签应用于整个线程,而不仅仅是消息 - 如果您关闭了"对话视图"并且各种电子邮件在不同标签下分开,则会出现问题.
这是我的脚本(每日触发):
function moveUp(previousLabel, newLabel) {
var threads = GmailApp.getUserLabelByName(previousLabel).getThreads()
var numThreads = threads.length
if (numThreads>0) {
for(var i = 0; i < numThreads; i++) {
if(GmailApp.getUserLabelByName(previousLabel).getThreads().length>0) {
var lastThread = GmailApp.getUserLabelByName(previousLabel).getThreads()[0]
GmailApp.getUserLabelByName(newLabel).addToThread(lastThread.markUnread());
GmailApp.getUserLabelByName(previousLabel).removeFromThread(lastThread)
Utilities.sleep(200)
} else {
{break;}
}
}
}
}
function myFunction() {
var threads = GmailApp.getUserLabelByName("-To Do/1 Day").getThreads()
var numThreads = threads.length
if (numThreads>0) {
for(var i = 0; i < numThreads; i++) {
if(GmailApp.getUserLabelByName("-To Do/1 Day").getThreads().length>0) {
var lastThread = GmailApp.getUserLabelByName("-To Do/1 …Run Code Online (Sandbox Code Playgroud) 我正在使用gmail api开发应用程序.我想执行存档功能.我已经浏览了api https://developers.google.com/gmail/api但无法找到任何所需的解决方案.
任何人都可以建议我任何相同的解决方案.
提前致谢.
它返回正确数量的消息,但是填充的唯一字段是Id和ThreadId.其他一切都是空的
var service = new GmailService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
});
ListMessagesResponse response = service.Users.Messages.List(emailAddress).Execute();
IList<Google.Apis.Gmail.v1.Data.Message> messages = response.Messages;
Console.WriteLine("Messages:");
if (messages != null && messages.Count > 0)
{
foreach (var message in messages)
{
Console.WriteLine("{0}", message.Payload.Body);
Console.WriteLine();
}
}
else
{
Console.WriteLine("No Messages found.");
}
Run Code Online (Sandbox Code Playgroud) 我正在使用@jstedfast Mimekit / Mailkit库,用于从我的应用程序发送大量电子邮件。我想知道如何获取每封电子邮件的传递状态。这是我的第一次尝试,在经过一定的RnD之后,我必须在某些地方设置或传递report-type = delivery-status,但我不知道在哪里阅读该文件,该怎么做。 。我也尝试通过覆盖DeliveryStatusNotification,但一无所获。可能是我走错了方向以获取通知/状态。
protected override DeliveryStatusNotification? GetDeliveryStatusNotifications(MimeMessage message, MailboxAddress mailbox)
{}
Run Code Online (Sandbox Code Playgroud)
我知道@jstedfast在这里活跃。为此,我需要您的帮助。我没有任何指示来执行此操作。提前致谢。
gmail-api ×10
c# ×2
asp.net-mvc ×1
gmail ×1
google-oauth ×1
ios ×1
javascript ×1
mailkit ×1
mimekit ×1
objective-c ×1
privileges ×1
python ×1
ssl ×1