Php 使用IMAP/SMTP在Gmail中创建邮件(即草稿)?
我在PHP中通过IMAP函数对Gmail进行了相当多的收件箱操作,但有一件事我没有找到,那就是创建消息的方法。我不确定是否需要IMAP或SMTP,但我想使用PHP创建一条新邮件(特别是草稿),该邮件存储在我的收件箱中,所有内容都可以在以后发送。我该怎么做呢?您可能想看看 编辑 这不会在服务器上创建消息。您还需要使用imap_append() 进一步编辑 这似乎是可行的:Php 使用IMAP/SMTP在Gmail中创建邮件(即草稿)?,php,smtp,gmail,imap,Php,Smtp,Gmail,Imap,我在PHP中通过IMAP函数对Gmail进行了相当多的收件箱操作,但有一件事我没有找到,那就是创建消息的方法。我不确定是否需要IMAP或SMTP,但我想使用PHP创建一条新邮件(特别是草稿),该邮件存储在我的收件箱中,所有内容都可以在以后发送。我该怎么做呢?您可能想看看 编辑 这不会在服务器上创建消息。您还需要使用imap_append() 进一步编辑 这似乎是可行的: <?php $rootMailBox = "{imap.gmail.com:993/imap/ssl}"; $draf
<?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字符串。我不得不在您的解决方案中将“[Google Mail]/Drafts”更改为“[Gmail]/Drafts”,但现在它可以正常工作了。非常感谢。看起来他们已经从[googlemail]/Folder
更改为[Gmail]/Folder