2009-07-30 14 views
8

Zrobiłem sporo manipulacji skrzynki odbiorczej za pomocą Gmaila za pośrednictwem funkcji IMAP w PHP, ale jedno, czego nie znalazłem, to sposób na tworzenie wiadomości. Nie jestem pewien, czy wymagany jest IMAP lub SMTP, ale chciałbym użyć PHP, aby utworzyć nową wiadomość (konkretnie wersję roboczą), która jest przechowywana w mojej skrzynce odbiorczej, a wszystko gotowe do wysłania w późniejszym terminie. Jak mam to zrobić?Tworzenie wiadomości (np. Wersji roboczych) w Gmailu za pomocą protokołu IMAP/SMTP?

+0

FYI zaktualizowałem moją odpowiedz –

Odpowiedz

13

Możecie zajrzeć do imap_mail_compose()

Edytuj ta nie tworzy wiadomości na serwerze. Musisz również użyć imap_append().

Dalsze Edit To wydaje się działać ok:

<?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

Świetnie, dzięki! Nie byłem pewien, czy to rzeczywiście utworzyło wiadomość na serwerze, czy nie. Dokumenty sprawiają, że brzmi to jak po prostu tworzy ciąg MIME z $ koperty i tablic $ ciała. – Kevin

+0

Tak, myślę, że możesz mieć rację. –

+0

Dzięki za tę edycję, właśnie odkryłem imap_append. – Kevin

-2

powinieneś być w stanie tworzyć projekty po prostu przesuwając złożoną wiadomość do Robocze floder ...

+3

Komponowanie wiadomości na początku było problemem, jaki miałem :) – Kevin

Powiązane problemy