Encodering e-mailberichten mislukt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

Applicatieontwikkelaar Java EE

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving De afdeling IV –

Bekijk vacature »

PHP Laravel Ontwikkelaar

Functie omschrijving Weet jij alles over Laravel en krijg je energie van het developen van software hiermee? Laat het weten want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch voor klein bedrijf welke softwareoplossingen maakt voor hun klanten. Jouw taken hierbij: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Documentatie schrijven over applicaties. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein bedrijf. Er werken circa 15 medewerkers, verdeeld in meerdere teams, zoals back-end

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

Front-end developer (HTML, CSS, SASS, JavaScript)

Functie Momenteel zijn we voor ons Digital team op zoek naar een (medior) Front-end developer. Samen met je collega’s werk je in een Agile/Scrum omgeving aan de ontwikkeling van onze webapplicaties, websites en andere oplossingen. Je draagt bij aan een sterk ontwikkelproces waarin kwaliteit voorop staat. Hiervoor ben je niet alleen bezig met eigen code maar ook code reviews van andere collega’s. Ben jij graag op de hoogte van de nieuwste ontwikkelingen in je vakgebied en wil je deze toepassen voor diverse projecten? Dan komen wij graag met je in contact! Eisen • HBO werk- en denkniveau • Minimaal 2

Bekijk vacature »

Senior .NET Developer I goed salaris en deels thui

Bedrijfsomschrijving Mijn opdrachtgever is al ruim 20 jaar een gevestigde naam in de wereld van software ontwikkeling, met drie kantoren in de Randstad, waaronder Alphen aan den Rijn. Zij richten zich op het bouwen van IT-oplossingen die ervoor zorgen dat de productiviteit van klanten te allen tijden optimaal is. Hiervoor neemt jouw nieuwe werkgever het volledige ontwikkelproces tot haar rekening; van het eerste gesprek om de klantwensen in kaart te brengen, tot aan het uiteindelijke onderhoud van de opgeleverde oplossing. In totaal werken er inmiddels bijna 200 gemotiveerde IT-ers binnen deze organisatie. De gemiddelde leeftijd ligt rond de 35. Het

Bekijk vacature »

PHP developer

Functie omschrijving Voor een klein bedrijf in de buurt van Nieuwegein zijn wij per direct op zoek naar een talentvolle PHP developer. Er wordt veel ruimte geboden voor eigen initiateven, waardoor je een mooie stempel kan drukken op jouw eigen werkzaamheden (zowel operationeel als strategisch). Het bedrijf heeft middels externe programmeurs een multimedia platform ontwikkeld, maar willen geleidelijk de ontwikkeling naar binnen halen. Om die reden zoeken zij een communicatieve interne PHP developer die graag meebouwt aan het succesvolle product. Je gaat de volgende werkzaamheden verrichten: Platform beheren en programmeren (PHP, MySQL, JQuery, Javascript, XML & HTML); Communicatie en aansturing

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Digital Agency is looking for PHP developers!

Functie The team currently has 20 colleagues, consisting of developers (front and backend) and the operations team, which also includes management and two scrum masters. They are looking for a PHP developer who is able to work independently. You will work in one of the three scrum teams and start working on a project for the customer. The interesting thing about this is that you do have variety in terms of work, but at the same time continuously work for existing customers. This also gives you the opportunity to really go into depth and develop innovative technical solutions. In terms

Bekijk vacature »

Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

Senior .NET Ontwikkelaar

In het kort Als Senior .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag met complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek (denk aan ECT) en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan

Bekijk vacature »
George van Baasbank

George van Baasbank

16/10/2014 13:14:59
Quote Anchor link
Goedemiddag allemaal,

Nu ik mijn e-mailverzending op orde heb met meervoudige bijlagen, is het nu zover dat ik de bijlagen wil gaan openen. Helaas, dat lukt niet. Ik krijg een melding dan mijn codering niet juist is (gegaan).
Welke regel in onderstaande code verzorgt dit?

Voor de goede orde heb ik de inhoud van variabele $body even vastgelegd:

De waarde van $body:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
This is a multi-part message in MIME format. --==Multipart_Boundary_x24ee641efc4abab68a14a09f2c009eacx Content-Transfer-Encoding: 7bit
Test met twee bijlagen


 


Nee geen twee maar een

--==Multipart_Boundary_x24ee641efc4abab68a14a09f2c009eacx Content-Type: application/pdf; name=20130108_Voorwaarden_deelname_KPN_Compleet_v1_1_def.pdf Content-Transfer-Encoding: base64 Content-disposition: attachment This is a multi-part message in MIME format. --==Multipart_Boundary_x24ee641efc4abab68a14a09f2c009eacx Content-Transfer-Encoding: 7bit
Test met twee bijlagen


Mijn PHP-code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
$html
= true;
            $headers     = 'From: ' . $cAfzenderEmail . PHP_EOL;
            $headers    .= 'Reply-To: ' . $cAfzenderEmail . PHP_EOL;
            $headers    .= 'X-Mailer: PHP/' . phpversion() . PHP_EOL;
            $headers    .= 'X-Priority: Normal' . PHP_EOL;
            $headers    .= ($html) ? 'MIME-Version: 1.0' . PHP_EOL : '';
            //email bestaat uit meerdere  bestanden dus vertel wat de scheidings teken is en dat het een multipart is
            $headers .= "Content-Type: multipart/mixed; boundary=\"" . $mime_boundary . "\"\r\n";
            //we zenden een attachment mee
            $headers .= "Content-Disposition:  attachment\r\n";
            $nAfteller = 0;
            while($nAfteller <= $nBijlagen) {
                //readfile
                //$fp = fopen($_FILES['bijlage']['tmp_name'],'r');

                $fp = fopen($_FILES['bijlage']['name'][$nAfteller]);
                $bestand = fread($fp,$_FILES['bijlage']['size'][$nAfteller]);
                fclose($fp);
                //create body
                //generenen een body. Dit is een multi part gezeik

                $body.= "This is a multi-part message in MIME format.\r\n";
                $body.= "\r\n";
                //boundary
                $body.= "--" . $mime_boundary . "\r\n";
                //content type + charater set (iso in dit geval)
                //$body .= ($html) ? 'Content-type: text/html; charset=UTF-8' . PHP_EOL : '';
                //codering (7 bit)

                $body.= "Content-Transfer-Encoding: 7bit\r\n";
                $body.= "\r\n";
                //het bericht
                $body.= nl2br($_POST['editor1']) ."\r\n";
                //boundary
                $body.= "--" . $mime_boundary . "\r\n";
                //content type + naam bestand (database.sql)
                //$body .= "Content-Type: application/octet-stream; name=".$_FILES['bijlage']['name'][$nAfteller]."\r\n";

                $body .= "Content-Type: " . MimeExtensie($_FILES['bijlage']['name'][$nAfteller]) . " name=" . $_FILES['bijlage']['name'][$nAfteller] . "\r\n";
                //codering
                $body .= "Content-Transfer-Encoding: base64\r\n";
                //als bijlage toegevoegd
                $body.= "Content-disposition: attachment\r\n";
                $body .= "\n";
                $body .= chunk_split(base64_encode($bestand )) . "\r\n";
                $nAfteller++;
                echo $body;
            }

?>
 
PHP hulp

PHP hulp

20/04/2024 15:04:08
 
Obelix Idefix

Obelix Idefix

16/10/2014 13:23:45
Quote Anchor link
Waarom het wiel opnieuw willen uitvinden en telkens tegen problemen aanlopen?

In http://www.phphulp.nl/php/forum/topic/emailbericht-met-meerdere-bijlagen/96114/last/ is ook al gevraagd waarom geen gebruik maken van phpmailer of swiftmailer?

Je reactie daar, dat het niet kan, begrijp ik nog steeds niet. Of je nu zelf de mailfunctie van php aanroept of via een class. Voordeel van laatste is echter dat veel problemen waar jij nu tegen aan loopt al opgelost zijn.
 
George van Baasbank

George van Baasbank

20/10/2014 10:59:25
Quote Anchor link
Hallo allemaal,
Ik heb het advies opgevolgd om ded class van phpmailer te installeren. Het verzenden van meerdere bijlagen gaat nu goed alleen zijn deze bijlagen niet te openen vanwege een decoderingsfout. Dat had ik in eerste instantie ook.
Omdat ik in de code van phpmailer niets zie over het decoderen van bepaalde typen bestanden loop ik even vast.
Is er iemand die mij verder kan helpen?


George
 
Ivo P

Ivo P

20/10/2014 11:18:01
Quote Anchor link
zou het dan niet handig zijn, om even te vragen hoe de gemakkelijk oplossing dan wél moet?

Om in het wiel uitvinden te blijven:

Er is je aangeraden om een wiel te gebruiken dat al uitgevonden was. Dat probeer je maar mogelijk omdat je het puntje: pomp de band op" overgeslagen hebt, wil je weer geheel terug?

Met phpmailer zou het voldoende zijn om

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$mailer
= new phpmailer();

$mailer->AddAttachement('path/naar/file1.pdf');
$mailer->AddAttachement('path/naar/file2.pdf');
?>


te doen.

Hoe doe jij het?
 
George van Baasbank

George van Baasbank

20/10/2014 11:29:25
Quote Anchor link
Ivo,

Mijn code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
require_once "plugins/mailer/class.phpmailer.php";

$aBijlage = array();
$aBijlage = $_FILES['bijlage']['name'];
$nBijlagen = count($aBijlage);  // Tellen aantal bijlagen

$cGeadresseerde = $_SESSION['inlognaam'];
$cAfzenderEmail = $_SESSION['inlognaam'];

// Start de class van phpmailer
        
$mail = new PHPMailer();
$body = $cEmailbericht;
$body = eregi_replace("[\]",'',$body);
$mail->AddReplyTo($cAfzenderEmail,"");
$mail->SetFrom($cAfzenderEmail, "");
$address = $cGeadresseerde;
$mail->AddAddress($address, "");
$mail->Subject = $cOnderwerp;
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!";
$mail->MsgHTML($body);
$nAfteller = 0;
while($nAfteller < $nBijlagen) {    // Hier voeg ik de bijlagen toe !!
   $mail->AddAttachment($_FILES['bijlage']['name'][$nAfteller]);  // attachment
   $nAfteller++;
}

        
if(!$mail->Send()) {
   echo "Mailer Error: " . $mail->ErrorInfo;
}
else {
   echo "Message sent!";
}

?>


Toevoeging op 20/10/2014 11:57:10:

Sorry, ik had een klein foutje over het hoofd gezien.
Helaas krijg ik nu geen bestanden meer mee:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
while($nAfteller < $nBijlagen) {
            $mail->AddAttachment($_FILES['bijlage']['name'][$nAfteller]);  // attachment
            echo $_FILES['bijlage']['name'][$nAfteller];
            $nAfteller++;
        }

        
        $mail->Send();
?>


Deze echo toont wel de juiste bestandsnamen alleen worden zij niet bijgesloten in de mail.
(De echo staat er alleen voor foutlokalisatie)
Gewijzigd op 20/10/2014 11:37:07 door George van Baasbank
 
Ivo P

Ivo P

20/10/2014 12:06:38
Quote Anchor link
$_FILES['bijlage']['name'][$nAfteller]

dat zal niet bestaan.
Daarin tref je de naam aan die de file voor het uploaden had bij de bezoeker van de site.

$_FILES['bijlage']['tmp_name'][$nAfteller] zal beter gaan.


---
$body = eregi_replace("[\]",'',$body);

Je replacet dus case-ongevoelig een \ ?

ten eerste ken ik geen hoofdletter \
ten tweede zou str_replace() genoeg zijn
en tenslotte, zou je je even af moeten vragen waarom er kennelijk overtollige \ voor kan komen in je bericht...

je emuleert hier strip_slashes() en dat is een functie die je nooit nodig moet hebben
 
George van Baasbank

George van Baasbank

20/10/2014 12:15:49
Quote Anchor link
Ivo,
Het gaat steeds beter. Ik krijg na jouw opmerking wel bestanden binnen maar die hebben een totaal andere nam: phpHnau87.dat. Dat zal de tmp-name wel zijn maar hoe krijg ik dat weer goed?
P.S.: De "$body = eregi_replace("[\]",'',$body);" heb ik verwijderd

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
while($nAfteller < $nBijlagen) {
            $mail->AddAttachment($_FILES['bijlage']['tmp_name'][$nAfteller]);  // attachment
            //echo $_FILES['bijlage']['name'][$nAfteller];

            $nAfteller++;
        }

?>
 
Ivo P

Ivo P

20/10/2014 12:25:01
Quote Anchor link
zoek even wat de andere parameters van AddAttachment zijn.....

http://phpmailer.worxware.com/?pg=tutorial
ongeveer op de helft
Gewijzigd op 20/10/2014 12:26:57 door Ivo P
 
George van Baasbank

George van Baasbank

26/10/2014 15:28:25
Quote Anchor link
Bedankt allemaal voor de ondersteuning.
Met de volgende code (PHPMailer) is alles gelukt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// Start PHPMailer  
$mail = new PHPMailer();
$mail->IsHTML(true);
$body = $cBericht2;
$mail->AddReplyTo($cAfzenderEmail,"");
$mail->SetFrom($cAfzenderEmail, "");
$address = $cGeadresseerde;
$mail->AddAddress($address, "");
$mail->Subject = $cOnderwerp;
$mail->AltBody = "Om dit bericht te kunnen lezen is een HTML-compatibel browser nodig!";
$mail->MsgHTML($body);
$nAfteller = 0;
while($nAfteller < $nBijlagen) {
   $mail->AddAttachment($_FILES['bijlage']['tmp_name'][$nAfteller],$_FILES['bijlage']['name'][$nAfteller]);    // Voeg attachment toe
   $nAfteller++;
}

                    
$mail->Send();
// Einde PHPMailer
?>


De oplossing in AddAttachment was dus heel simpel

Topic gesloten

George
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.