2009-07-30 61 views
8

我已经通过PHP中的IMAP函数使用Gmail对Gmail进行了相当多的收件箱操作,但有一件事我没有找到,它是创建消息的一种方式。我不确定是否需要IMAP或SMTP,但我希望使用PHP创建一条存储在我的收件箱中的新邮件(特别是一份草稿),并准备在稍后的日期发送一切内容。我如何去做这件事?使用IMAP/SMTP在Gmail中创建邮件(即草稿)?

+0

FYI我已经更新了我回答 – 2009-07-30 13:30:09

回答

13

你可能想看看imap_mail_compose()

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

进一步编辑 这似乎工作确定:

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

$conn = imap_open ($rootMailBox, "[email protected]", "password") or die("can't connect: " . imap_last_error()); 

$envelope["to"] = "[email protected]"; 
$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()) ; 
} 
+0

太好了,谢谢!我不确定这是否真的在服务器上创建了消息。文档使它听起来像它只是创建一个$ envelope和$ body数组的MIME字符串。 – Kevin 2009-07-30 13:13:24

+0

是的,我想你可能是对的 – 2009-07-30 13:16:00

-2

,你应该能够创建草案刚刚编写的消息移动到草稿floder ...

相关问题