[PHP] imap_mail() geeft niet het gewenste resultaat

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Bender
  • Registratie: Augustus 2000
  • Laatst online: 16-09 09:15
Ik ben bezig met een PHP webmail (IMAP/POP3 ) script.
De server draait een IMAP en POP3 server, en werkt perfect.
E-mail ophalen, lezen, etcetc werkt allemaal zonder problemen.

Alleen het sturen van e-mail via imap_mail() geeft niet het gewenste resultaat.
Voor de duidelijkheid, het werkt wel, maar neit zo goed als ik wil :)

De code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    $envelope["from"] = $_POST[from];
    $envelope["to"] = $_POST[to];

    
    $mailbody[0]["type"] = "TEXT";
    $mailbody[0]["subtype"] = "plain";
    $mailbody[0]["description"] = "text/plain";
    $mailbody[0]["contents.data"] = "$_POST[message]\n\n\n\t";

    $mail = imap_mail_compose($envelope,$mailbody);

    $headers = "From: $_POST[from]\r\n";
    $headers .= "Reply-To: $_POST[from]\r\n";
    $headers .= "Return-path: $_POST[from]\r\n";
    $headers .= "X-Priority: $_POST[priority]\r\n";
    $headers .= "X-Mailer: Triloxigen.nl Webmail\r\n";

    imap_mail($_POST[to],$_POST[subject],$mail,$headers,$_POST[cc],$_POST[bcc]);


De e-mail die ik krijg bevat de headers:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Return-path: <www-data@[mailserver(niet domein)]> 
Envelope-to: [email waar het heen gaat]
Delivery-date: Thu, 16 Oct 2003 11:42:17 +0200 
Received: from www-data by [mailserver] with local (Exim 4.20) 
    id 1AA4e9-0006JS-Cx 
    for [email waar het heen gaat]; Thu, 16 Oct 2003 11:42:17 +0200 
To: [email waar het heen gaat]
Subject: [Onderwerp]
From: [mailbox_account]@[mailserver]
Message-Id: <E1AA4e9-0006JS-Cx@[mailserver]> 
Sender: www-data <www-data@[mailserver]> 
Date: Thu, 16 Oct 2003 11:42:17 +0200 
X-UIDL: A(7"!M-a"!T:C!!@Fg!!


De Return-Path en From iig al kloppen niet.

Maar in het bericht zelf staat:
From: [naam] <[goede_emailadres]>
To: [to_adres klopt ook]
MIME-Version: 1.0
Content-Type: TEXT/plain; CHARSET=US-ASCII
Content-Description: text/plain

bericht
De headers staan nu dusin het bericht,
ik weet eigenlijk niet meer wat ik fout doe :/

De goede variablen worden wel in het formulier gepost,
alleen de uitvoering oid klopt niet.
Heeft iemand ervaring emt imap_mail() of iets anders waar ik eventueel iets mee zou kunnen.

(En vast een vraag voor later, weet iemand een resource waar ik kan kijken hoe het zit met attachments).

Acties:
  • 0 Henk 'm!

  • Jurgle
  • Registratie: Februari 2003
  • Laatst online: 24-06 00:27

Jurgle

100% Compatible

Ik heb geen ervaring met imap_mail dus draag ik een alternatief aan:

Je kan zelf je mail maken in MIME formaat... je weet blijkbaar hoe dat eruit moet zien. Dan kan je met fsockopen() een verbinding maken met een SMTP server, de conversatie die je moet voeren (fputs() en fgets()) ziet er alsvolgt uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
> [de server zegt hallo]
< HELO [jouw domein]
> 220 HELO OK
< MAIL FROM <[waar de mail vandaan komt, mag ook leeg zijn]>
> 220 ...
< RCPT TO: <[waar de mail naartoe moet, email adres, geen andere rommel]>
> 220 ...
< DATA
> 220 ...
< [pleur hier je MIME string neer en voeg eerst aan die string "\r\n.\r\n" toe]
> 220 ...
< QUIT
> 220 BYE


Het 'RCPT TO:' command mag meerdere keren gebruikt worden. Hier komen bijvoorbeeld stuk voor stuk de To's Cc's en Bcc's

Ik hoop dat je hier wat aan hebt...

Attachments zit met content-type: multipart/*

Is ongetwijfeld een RFC over: http://www.faqs.org/ ff zoeken op MIME

Succes

My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant


Acties:
  • 0 Henk 'm!

  • Bender
  • Registratie: Augustus 2000
  • Laatst online: 16-09 09:15
Het is idd een idee,
maar het lijkt mij dat imap_open wel goed moet werken, dus dat doe ik liever, anders word eht zo'n ontwijk manier :)

Attachements en de body/header opbouw word meer het probleem :/

Acties:
  • 0 Henk 'm!

  • Jurgle
  • Registratie: Februari 2003
  • Laatst online: 24-06 00:27

Jurgle

100% Compatible

Waarom zou dat een ontwijk manier zijn? IMAP_MAIL is toch ook een extensie? Die kan je op zo'n manier toch ook zelf schrijven (wat ik min of meer suggereer)?

Kan die imap_mail eigenlijk wel attachments? daarbij moet je nl multipart en een boundary in de header zetten en in de body's de boundary aanhouden. Wordt nog veel meer gek*t als je mails wilt verstruren op basis van een HTML template met plaatjes (die je NIET als attachment wilt laten zien, onderdeel van HTML)

My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant


Acties:
  • 0 Henk 'm!

  • Bender
  • Registratie: Augustus 2000
  • Laatst online: 16-09 09:15
imap_mail ondersteund wel attachments,
ik weet alleen niet hoe..

Maar imap_mail() moet gewoon kunnen werken dus zelf de verbinding op te zetten zeg maar vind ik een beetje nutteloos.