Wie versenden Sie E-Mails von IMAP-Konto mit PHP?

Ich habe ein Problem senden von E-Mails über die PHP/IMAP - und ich weiß nicht, ob es ist, weil:

  • Ich nicht richtig verstehen, IMAP -, oder
  • es ein Problem mit meinem server

Meine Anwendung öffnet eine IMAP-Verbindung zu einem E-Mail-Konto, das Lesen von Nachrichten im Posteingang. Er tut dies erfolgreich. Das problem, das ich habe, ist dass ich will zum senden von Nachrichten von diesem Konto, und Sie haben die Anzeige im Postausgang/gesendet Ordner.

Soweit ich das beurteilen kann, der PHP imap_mail () - Funktion nicht in irgendeiner Weise Haken in den IMAP stream ich derzeit offen habe.

Mein code ausgeführt, ohne dass ein Fehler ausgegeben wird. Allerdings, die E-Mail kommt nicht an den Empfänger und zeigt nie in meinem gesendet-Ordner.

private function createHeaders() {
    return "MIME-Version: 1.0" . "\r\n" .
        "Content-type: text/html; charset=iso-8859-1" . "\r\n" .
        "From: " . $this->accountEmail . "\r\n";
}

private function notifyAdminForCompleteSet($urlToCompleteSet) {
    $message = "
        <p>
            In order to process the latest records, you must visit
            <a href='$urlToCompleteSet'>the website</a> and manually export the set.
        </p>
    ";

    try {
        imap_mail(
            $this->adminEmail,
            "Alert: Manual Export of Records Required",
            wordwrap($message, 70),
            $this->createHeaders()
        );
        echo("   ---> Admin notified via email!\n");
    }
    catch (Exception $e) {
        throw new Exception("Error in notifyAdminForCompleteSet()");
    }
}

Ich vermute, ich muss eine Kopie der Nachricht in den IMAP-Konto manuell... oder gibt es eine andere Lösung für dieses problem?

Außerdem spielt es eine Rolle, wenn die Domäne, in der "von" - Adresse ist anders als die des Servers, auf whicn dieses Skript ausgeführt wird? Ich kann nicht erklären, warum die Nachricht nie gesendet.

InformationsquelleAutor arthurakay | 2010-12-22

Schreibe einen Kommentar