Ich habe ziemlich viel Posteingang Manipulation mit Google Mail über IMAP-Funktionen in PHP gemacht, aber eine Sache, die ich nicht gefunden habe, ist eine Möglichkeit, Nachrichten zu erstellen. Ich bin mir nicht sicher, ob IMAP oder SMTP erforderlich ist, aber ich möchte PHP verwenden, um eine neue Nachricht (speziell einen Entwurf) zu erstellen, die in meinem Posteingang gespeichert wird und alles bereit ist, um zu einem späteren Zeitpunkt gesendet zu werden. Wie gehe ich vor? Dies gilt nicht erstellen Sie die Nachricht auf dem ServerErstellen von Nachrichten (z. B. Entwürfe) in Gmail mit IMAP/SMTP?
Antwort
Sie könnten imap_mail_compose()
bearbeiten zu suchen. Sie müssen auch imap_append() verwenden.
Weitere bearbeiten Dies scheint ok arbeiten:
<?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()) ;
}
Großartig, danke! Ich war mir nicht sicher, ob das tatsächlich die Nachricht auf dem Server erstellt hat oder nicht. Die Dokumente machen es so, als ob es nur eine MIME-Zeichenfolge der $ -Umschlag- und $ body-Arrays erzeugt. – Kevin
yeah Ich denke du könntest Recht haben –
Danke für diesen Schnitt, ich habe gerade imap_append entdeckt. – Kevin
sollten Sie in der Lage sein, Entwürfe zu erstellen, indem Sie die erstellte Nachricht in Entwürfe bewegen Floder ...
Die Nachricht zu verfassen war der Fehler, den ich hatte :) – Kevin
- 1. Gmail-Nachrichten automatisch weiterleiten und Nachrichten formatieren?
- 2. Möchten Staging-Subdomain erstellen z. B. staging.example.com
- 3. Passende Zeichenfolge mit Shell-Wildcards (z. B. *)
- 4. Wie können mehrere Benachrichtigungen in einer Benachrichtigung angezeigt werden, z. B. wenn Gmail Benachrichtigungen dynamisch sendet?
- 5. Ungelesene Anzahl von Gmail-Nachrichten mit Python überprüfen
- 6. Fehlerbehebung z. B. Flash 404
- 7. Serialize-Berechtigungen (z. B. CanCan) mit Active_model_serializers
- 8. Schienen - Params mit "Punkt" (z. B. /google.com)
- 9. Übereinstimmende Sonderzeichen (z. B. #, +) mit pg_search
- 10. Initialisierer beim Debuggen erstellen (z. B. im unmittelbaren Fenster)
- 11. MySQL mehrere Elemente übereinstimmen, wo (A, B, Z) IN (A, B, C, E, Z)
- 12. So erstellen Sie Benachrichtigungssymbolabzeichen für Android-Apps (z. B. iPhone)
- 13. Erstellen von privaten Nachrichten
- 14. Gibt es in Gmail API eine Möglichkeit, zusätzliche Felder (z. B. Betreff, Text) in die Nachrichtenlistenmethode aufzunehmen?
- 15. Übereinstimmen mit einem^n b^n c^n (z. B. "aaabbbccc") mit regulären Ausdrücken in C#
- 16. Verwenden von JUnit @Rule mit ScalaTest (z. B. TemporaryFolder)
- 17. Plattformübergreifendes Befehlszeilenskript (z. B. .bat und .sh)
- 18. Verwendung APPEND CATENATE in GMAIL
- 19. Erhalten Sie alle Posteingang Nachrichten mit Gmail API mit PHP
- 20. Erstellen von Objektvorlagen (z. B. EditorFor usw.) für MVC mit Code, keine Ansichten
- 21. Bild (z. B. jpg) einer Webseite generieren?
- 22. Gute praktische Verwendung von Metaklassen (z. B. in Python)
- 23. Artikel/Post Entwürfe in Rails
- 24. Upsource: Erstellen Sie eine Überprüfung von der Befehlszeile (z. B. mit API)
- 25. Indy 10 - IdSMTP.Send() hängt, wenn Nachrichten von GMail Senden Konto
- 26. Android: Strukturierung von Layoutdateien (z. B. in Unterordnern)
- 27. Logging Erstellen von Nachrichten mit MSBuild 4.0
- 28. Python, IMAP und GMail. Markieren von Nachrichten als GESEHEN
- 29. Unterschied zwischen ComponentModel-Reflektion (z. B. PropertyDescriptor) und Standardreflexion (z. B. PropertyInfo)?
- 30. Entwürfe auf Facebook API?
FYI habe ich meine aktualisiert Antwort –