2009-07-30 105 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 ...

相關問題