[PHP] Mail wordt als bijlage verzonden?

Pagina: 1
Acties:
  • 164 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$sHeaders = '';
if ($_FILES['attachment']['error'] != 0)
{
    $sMessage = $_POST['message'];
}
else
{
    $sMimeBoundary = md5(time());
    $sHeaders .= 'MIME-Version: 1.0' . R . N
               . 'Content-Type: multipart/related; boundary="' . $sMimeBoundary . '"' . R . N;
    $sMessage = '--' . $sMimeBoundary . R . N
               . 'Content-Type: ' . $_FILES['attachment']['type'] . '; name="' . $_FILES['attachment']['name'] . '"' . R . N
               . 'Content-Transfer-Encoding: base64' . R . N
               . 'Content-Disposition: attachment; filename="' . $_FILES['attachment']['name'] . '"' . R . N . R . N
               . chunk_split(base64_encode(file_get_contents($_FILES['attachment']['tmp_name']))) . R . N . R . N
               . 'Content-Type: multipart/alternative' . R . N
               . '--' . $sMimeBoundary . R . N
               . 'Content-Type: text/plain; charset=iso-8859-1' . R . N
               . 'Content-Transfer-Encoding: 8bit' . R . N . R . N
               . $_POST['message'] . R . N . R . N
               . '--' . $sMimeBoundary . '--' . R . N . R . N;
}
$sHeaders .= 'From: ' . $sName . ' <' . $sEmail . '>' . R . N
           . 'Bcc: ' . implode(', ', array_keys($aRecipients)) . R . N . R . N;

mail($_SETTINGS['adminemailadres'], $_POST['subject'], $sMessage, $sHeaders);


Bovenstaande code gebruik ik om een e-mailtje met of zonder bijlage te sturen. Dit werkt allemaal goed, maar Gmail (en vermoedelijk meer clients) laten het normale bericht niet zien, maar zeggen dat er een bijlage bij de e-mail zit, de bijlage heet "noname" en als ik die open met Kladblok zie ik gewoon het bericht wat ik heb getypt.

Hoe kan ik er voor zorgen dat dit toch gewoon als bericht wordt laten zien? Moet ik daar een bepaalde header voor sturen ofzo? Ik heb al gegoogled, maar ik wist eigenlijk niet zo goed waar ik op moest zoeken (naast ""noname" attachment mail php", maar er blijken dus veel mensen te zijn met de nickname "NoName").

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!

Verwijderd

Dit iets wellicht?

http://www.realmacsoftwar...rt/viewtopic.php?id=13806

UTF8 vs, ISO-Latin...

[ Voor 13% gewijzigd door Verwijderd op 27-11-2006 15:34 ]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 19:51

Creepy

Tactical Espionage Splatterer

Je geeft altijd een base64 encoding mee en een Content-Disposition: attachment; filename=.... Als je dit weg laat en aan je tekst deel een content-type text/plain meegeeft (of een text/html als het een html e-mail betreft) dan zal gmail er waarschijnlijk minder moeite mee hebben.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Creepy schreef op maandag 27 november 2006 @ 15:36:
Je geeft altijd een base64 encoding mee en een Content-Disposition: attachment; filename=.... Als je dit weg laat en aan je tekst deel een content-type text/plain meegeeft (of een text/html als het een html e-mail betreft) dan zal gmail er waarschijnlijk minder moeite mee hebben.
Ik geef niet altijd een base64 encoding en Content-Disposition mee. :?
Alleen als er een bijlage is geupload.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 19:51

Creepy

Tactical Espionage Splatterer

Blijkbaar toch iets te snel gelezen en error = 4 als er geen files zijn geupload. Ik denk dat dan het gebrek aan headers het probleem kan zijn. Zo zijn er geen from, reply-to headers. Zie ook het tweede voorbeeld bij de PHP documentatie van de mail functie.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Raynman
  • Registratie: Augustus 2004
  • Laatst online: 21:12
Creepy schreef op maandag 27 november 2006 @ 16:32:
Blijkbaar toch iets te snel gelezen en error = 4 als er geen files zijn geupload. Ik denk dat dan het gebrek aan headers het probleem kan zijn. Zo zijn er geen from, reply-to headers. Zie ook het tweede voorbeeld bij de PHP documentatie van de mail functie.
From staat op regel 23 en reply-to is daarbij toch niet noodzakelijk?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 19:51

Creepy

Tactical Espionage Splatterer

Ik ben lekker wakker vandaag blijkbaar :/

Toch denk ik nog steeds dat het gebrek aan headers wel eens een probleem zou kunnen zijn. Ondanks alle hype wat betreft gMail houdt het zich niet zo geweldig aan de standaard (het ript hele stukken uit je HTML e-mail, maar dat is offtopic hier :P ).

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • EnsconcE
  • Registratie: Oktober 2001
  • Laatst online: 19-06 00:07
misschien moet
PHP:
1
2
$sHeaders .= 'From: ' . $sName . ' <' . $sEmail . '>' . R . N
           . 'Bcc: ' . implode(', ', array_keys($aRecipients)) . R . N . R . N;

als eerste header genoemd worden, dus dat je mimetype eraan evt. toegevoegd wordt.

en misschien moet
PHP:
1
    $sHeaders .= 'MIME-Version: 1.0' . R . N

sowieso meegstuurd worden.

Hoe zit het eigenlijk met email met een attachment, hoe worden die ontvangen door gmail en cornuiten?

Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
EnsconcE schreef op maandag 27 november 2006 @ 19:10:
misschien moet
PHP:
1
2
$sHeaders .= 'From: ' . $sName . ' <' . $sEmail . '>' . R . N
           . 'Bcc: ' . implode(', ', array_keys($aRecipients)) . R . N . R . N;

als eerste header genoemd worden, dus dat je mimetype eraan evt. toegevoegd wordt.

en misschien moet
PHP:
1
    $sHeaders .= 'MIME-Version: 1.0' . R . N

sowieso meegstuurd worden.

Hoe zit het eigenlijk met email met een attachment, hoe worden die ontvangen door gmail en cornuiten?
De bijlage komt gewoon goed door. Ik kan er PDF's, plaatjes, Word documenten etc. aan toevoegen en dat werkt gewoon allemaal.

Het lijkt gewoon alsof Gmail de header(s) voor de e-mail zelf niet goed leest, of een header mist of iets dergelijks.

Ik ga in ieder geval bovenstaande mogelijke oplossingen even proberen, hopende dat ik er uit kom.

Bedankt voor de reply's mensen! _/-\o_

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?

Pagina: 1