Toon posts:

php mailer problemo

Pagina: 1
Acties:
  • 59 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik ben een webdesigner die zoveel mogelijk uit zijn weinige kundes probeert te halen.

Ik bouw dingen in PHP, maar dat gaat wel eens mis.

Ik heb een script geschreven dat een in HTML opgestelde e-mail moet versturen. het versturende gedeelte heb ik van zend.com gehaald. Het werdt daar aanbevolen als de manier om een HTML mail te versturen.





//add From: header
$headers = "From: Berlee-minitransat.nl <cor@cor-business.nl>\r\n";

//specify MIME version 1.0
$headers .= "MIME-Version: 1.0\r\n";

//unique boundary
$boundary = uniqid("HTMLMESSAGE");

//tell e-mail client this e-mail contains//alternate versions
$headers .= "Content-Type: multipart/alternative" .
"; boundary = $boundary\r\n\r\n";

//message to people with clients who don't
//understand MIME
$headers .= "This is a MIME encoded message.\r\n\r\n";

//plain text version of message
$headers .= "--$boundary\r\n" .
"Content-Type: text/plain; charset=ISO-8859-1\r\n" .
"Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode($alt_message));

//HTMLversion of message
$headers .= "--$boundary\r\n" .
"Content-Type: text/html; charset=ISO-8859-1\r\n" .
"Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode($message));
?>



het script verstuurt een Nieuwsbrief aan mensen die behoorlijk belangrijk voor onze stichting zijn en ik dacht na zeer veel testen een degelijke mailer te hebben gemaakt.

Nu heb ik de eerste mailing de deur uit gedaan en ik kreeg klachten dat er een onleesbare brij werdt verstuurt.

Als ik het zo zie, lijkt het me versleutelde data.

gaat hier iets mis met de encryption/decription?

[ Voor 35% gewijzigd door Verwijderd op 25-07-2006 19:36 ]


  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

En welke clients/instellingen gebruiken de mensen die dus die brij krijgen? Misschien staat bij hun HTML gewoon uit voor email.

Ey!! Macarena \o/


  • Brakkie
  • Registratie: Maart 2001
  • Niet online

Brakkie

blaat

Gebruik html mime mail Heb je tenminste niet zelf te maken met alle standaarden die komen kijken bij het opmaken van een mailtje.

Systeem | Strava


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Zoals je hier kunt lezen horen PHP programming topics in Programming. Vandaar dat ik je topic ook verplaats.

Ik wil je alleen met klem aanraden om het volgende ook even te lezen: Welkom in Programming - FAQ en Beleid en je topic aan te vullen. Het komt nu teveel over als de persoonlijke pogo650 helpdesk en dat is nou net niet de bedoeling van ons forum :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Dat was terecht BtM909. Sorry. Zoals ik omschreef, ik was even in paniek.

Verwijderd

Topicstarter
Ik heb die mailer bekeken. Die zou het vast geweldig doen. Maar dan moet ik mijn volledige code herschrijven.

Ik vermoedt dat er iets mis gaat met de encoding. het script zorgt er al voor dat niet-html ondersteunende clients geen html hoeven lezen.

Ontvangers krijgen volgend bericht:

Content-Type: text/html; charset=ISO-8859-1

Content-Transfer-Encoding: base64


PGh0bWw+DQo8c3R5bGU+DQpodG1sLC...heeeeeeeleboel geneuzel...mxl

Iemand die mij de tip van de dag kan geven?

  • Orion84
  • Registratie: April 2002
  • Laatst online: 14:30

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

Je $message is niet toevallig UTF-8 ofzo?

Geen idee of ik nu bullshit praat, geen verstand van php enzo, maar encoding mismatch was het eerste wat in me op kwam.

[ Voor 60% gewijzigd door Orion84 op 25-07-2006 21:10 ]

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09:21

Janoz

Moderator Devschuur®

!litemod

Ik vermoed dat het wordt veroorzaakt doordat je alle delen aan het coderen bent, inclusief het plain tekst gedeelte. ALs je het plain tekst gedeelte nu eens niet base64 encode dan wordt het ook daadwerkelijk 'plain' verstuurd.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • DexterDee
  • Registratie: November 2004
  • Laatst online: 21:39

DexterDee

I doubt, therefore I might be

Ik zou zelf niet al die headers handmatig gaan zetten, in mijn ervaring krijg je daar geheid problemen mee. Zo werken e-mail clients allemaal net iets anders en je bent zo wat vergeten. Ik raad je sterk aan om een bewezen framework te pakken. Een van de beste (misschien wel dé beste?) is phpmailer. Te vinden op http://phpmailer.sourceforge.net/

phpmailer is heel eenvoudig in gebruik en kan echt alles, van gecombineerde html en plain tekst mailtjes tot embedded images en attachments.

Om te bewijzen dat het allemaal niet zo moeilijk hoeft te zijn jouw scriptje volgens de phpmailer manier:
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
27
// initialiseer phpmailer
require("class.phpmailer.php");
$mail = new PHPMailer();

$mail->IsSMTP(); // gebruik SMTP om te versturen
$mail->Host = "smtp.server.nl"; // SMTP server
$mail->From = "<cor@cor-business.nl>";
$mail->FromName = "Berlee-minitransat.nl";
$mail->AddAddress("ontvanger1@email.nl", "Naam van de ontvanger");
$mail->AddBCC("blindekopie1@email.nl", "Naam blinde kopie 1");

$mail->Subject = "Nieuwsbrief van de vereniging";
$mail->Body = "<h1><b>html nieuwsbrief</b><h1>";
$mail->AltBody = "tekst nieuwsbrief voor diegenen die geen html kunnen lezen";
$mail->WordWrap = 50;

$mail->IsHTML(true); // dit is een html mail

if(!$mail->Send())
{
   echo "E-mail(s) zijn niet verstuurd";
   echo "Error: " . $mail->ErrorInfo;
}
else
{
   echo "E-mail(s) zijn succesvol verstuurd";
}


Succes ermee :D

Klik hier om mij een DM te sturen • 3245 WP op ZW


  • Brakkie
  • Registratie: Maart 2001
  • Niet online

Brakkie

blaat

Dan ook maar een voorbeeldje html mime mail ;)

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
/**
* Filename.......: example.1.php
* Project........: HTML Mime Mail class
* Last Modified..: 15 July 2002
*/
        error_reporting(E_ALL);
        require_once('htmlMimeMail.php');

/**
* Example of usage. This example shows
* how to use the class with html,
* embedded images, and an attachment.
*/
        /**
        * Create the mail object.
        * No longer takes any arguments
        */
        $mail = new htmlMimeMail();

        /*
        * Read the image background.gif into
        * $background
        */
        $background = $mail->getFile('background.gif');

        /*
        * Read the file test.zip into $attachment.
        */
        $attachment = $mail->getFile('example.zip');

        /*
        * Get the contents of the example text/html files.
        * Text/html data doesn't have to come from files,
        * could come from anywhere.
        */
        $text = $mail->getFile('example.txt');
        $html = $mail->getFile('example.html');

        /*
        * Add the text, html and embedded images.
        * The name (background.gif in this case)
        * of the image should match exactly
        * (case-sensitive) to the name in the html.
        */
        $mail->setHtml($html, $text);
        $mail->addHtmlImage($background, 'background.gif', 'image/gif');

        /*
        * This is used to add an attachment to
        * the email. Due to above, the $attachment
        * variable contains the example zip file.
        */
        $mail->addAttachment($attachment, 'example.zip', 'application/zip');

        /*
        * Set the return path of the message
        */
        $mail->setReturnPath('joe@example.com');
        
        /**
        * Set some headers
        */
        $mail->setFrom('"Joe" <joe@example.com>');
        $mail->setSubject('Test mail');
        $mail->setHeader('X-Mailer', 'HTML Mime mail class (http://www.phpguru.org)');
        
        /**
        * Send it using SMTP. If you're using Windows you should *always* use
        * the smtp method of sending, as the mail() function is buggy.
        */
        $result = $mail->send(array('postmaster@localhost'), 'smtp');

        // These errors are only set if you're using SMTP to send the message
        if (!$result) {
            print_r($mail->errors);
        } else {
            echo 'Mail sent!';
        }
?>

Systeem | Strava


Verwijderd

Topicstarter
Thx !

Ik maar denken: he een of ander persoon die het zou moeten weten en het aanraadt als DE manier om het te doen zal vast het goeie publiceren...:s

Had gehoopt dat ik een tikfout maakte..

Hoorde net dat het voornamelijk oude personen waren, met waarschijnlijk oude software, of neefjelief heeft alle beveiligingen op MAX gezet om maar geen gezeur van oomlief te krijgen dat zijn pc bokt...

Bas

Verwijderd

Topicstarter
Blijkt dat alleen de adressen waarop ik heb getest het goed binnenkregen....

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:01
Tja, ik kan niets anders zeggen dan:
- debug je code dan even
- ga na waarom het bij andere adressen niet lukt.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.