使用IMAP/SMTP在Gmail中创建消息(即草稿)?

12

我在使用PHP中的IMAP功能进行Gmail收件箱操作方面做了很多工作,但我还没有找到一种创建邮件的方法。我不确定是否需要IMAP或SMTP,但我想使用PHP创建一个新消息(特别是草稿),它存储在我的收件箱中,准备好在以后的日期发送。我该怎么做呢?

1个回答

16

您可能需要查看imap_mail_compose()

编辑 这不会在服务器上创建消息。您还需要使用imap_append()。

进一步编辑 这似乎可以正常工作:

<?php 
$rootMailBox = "{imap.gmail.com:993/imap/ssl}";
$draftsMailBox = $rootMailBox . '[Google Mail]/Drafts';

$conn = imap_open ($rootMailBox, "sdfsfd@gmail.com", "password") or die("can't connect: " . imap_last_error());

$envelope["to"]  = "test@test.com";
$envelope["subject"]  = "Test Draft";

$part["type"] = TYPETEXT;
$part["subtype"] = "plain";
$part["description"] = "part description";
$part["contents.data"] = "Testing Content";

$body[1] = $part;

$msg = imap_mail_compose($envelope, $body);

if (imap_append($conn, $draftsMailBox, $msg) === false) {
        die( "could not append message: " . imap_last_error() )  ;
}

太好了,谢谢!我不确定这是否在服务器上实际创建了消息。文档让人觉得它只是创建了$envelope和$body数组的MIME字符串。 - Kevin
3
我不得不在你的解决方案中将“[Google Mail]/Drafts”更改为“[Gmail]/Drafts”,但现在它可以正常工作了。谢谢! - tst
2
看起来他们已经从[Google Mail]/Folder更改为[Gmail]/Folder - Farzher

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接