2009-07-30 66 views
8

Tôi đã thực hiện khá nhiều thao tác hộp thư đến với Gmail thông qua chức năng IMAP trong PHP, nhưng một điều tôi chưa tìm thấy là một cách để tạo thư. Tôi không chắc liệu IMAP hay SMTP là bắt buộc, nhưng tôi muốn sử dụng PHP để tạo một thư mới (cụ thể là một bản nháp) được lưu trữ trong hộp thư đến của tôi với mọi thứ sẵn sàng để gửi vào một ngày sau đó. Làm thế nào để tôi đi về điều này?Tạo thư (ví dụ: thư nháp) trong Gmail bằng IMAP/SMTP?

+0

FYI Tôi đã cập nhật của tôi answer –

Trả lời

13

Bạn có thể muốn nhìn vào imap_mail_compose()

Sửa này không tạo ra các tin nhắn trên máy chủ. Bạn cũng cần sử dụng hàm imap_append().

Hơn nữa Sửa Điều này dường như làm việc 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

Tuyệt vời, cảm ơn! Tôi đã không chắc chắn nếu điều này thực sự tạo ra các tin nhắn trên máy chủ hay không. Các tài liệu làm cho nó có vẻ như nó chỉ tạo ra một chuỗi MIME của các mảng $ envelope và $ body. – Kevin

+0

vâng tôi nghĩ rằng bạn có thể đúng –

+0

Cảm ơn chỉnh sửa đó, tôi vừa phát hiện ra imap_append. – Kevin

-2

bạn sẽ có thể để tạo ra dự thảo chỉ bằng cách di chuyển các tin nhắn được soạn vào nháp floder ...

+3

Soạn tin nhắn để bắt đầu là sự cố tôi gặp phải :) – Kevin

Các vấn đề liên quan