Ik heb een probleem waar ik niet meer uit kom.
Tot een 3 maanden geleden werkte onderstaand script welke ik gebruik voor een nieuwsbrief.

Nu doet de mailing het niet en krijg ik enkel 'Mail niet verzonden, er ging iets verkeerd'.
Ik kom er niet uit waarom de mailing het niet meer doet.

Hopelijk kan een van jullie mij met mijn probleem helpen.

Alvast ontzettend bedankt!



<style type="text/css">
<!--
body,td,th {
font-family: verdana;
font-size: 10pt;
color: ffffff;
}
a:link {
color: a60000;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: a60000;
}
a:hover {
text-decoration: none;
color: a60000;
}
a:active {
text-decoration: none;
color: a60000;
}
-->
</style>

<?php
// stel php in dat deze fouten weergeeft
ini_set('display_errors',1);

// stel php in dat ik feedback krijg voor iedere mogelijke
// fout die ik maak
error_reporting(E_ALL);

$hostname = "********";
$username = "********";
$password = "********";
$database = "********";

mysql_connect("$hostname","$username","$password");
mysql_select_db("$database");

// Voor de leesbaarheid maken we gebruik van de HEREDOC notatie
// HTML mail
$html=<<<EOT
<html>
<style type="text/css">
<!--
body {
background-color: #ffffff;
}
.style1 {
font-size: 16pt;
font-weight: bold;
}
.style3 {font-size: 14pt; font-weight: bold; color: #000000; }
-->
</style>
<html>
<style type="text/css">
<!--
body {
background-color: #333333;
}
.style1 {
font-size: 16pt;
font-weight: bold;
}
.style3 {font-size: 14pt; font-weight: bold; color: #000000; }
-->
</style>
<head>
<center> <title>Nieuwsbrief</title>
<style type="text/css">
<!--
body,td,th {
font-family: verdana;
font-size: 10pt;
color: 000000;
}
a:link {
color: 000000;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: 000000;
}
a:hover {
text-decoration: none;
color: 000000;
}
a:active {
text-decoration: none;
color: 000000;
}
-->
</style>
</head>

<body text="#000000" link="#000000" vlink="#000000" alink="#000000">
<div align="center">
<table width="750" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="123"><img src="updateshead.jpg" width="750" height="123"></td>
</tr>
<tr>
<td bgcolor="#9B9B9B"><div align="center">
<p><br>
<br>
Nieuwsbrief!!!<br>
<br>
Klik <a href="http://www.mijnsite.com/updates"; target="_blank"><font color="#000000">HIER</font></a> om naar de update pagina te gaan! <br>
<br>
<br>
<br>
<br>
<br>
<br>
<font size="1">Deze mail niet meer ontvangen? Klik <a href="http://www.mijnsite.com/afmelden">HIER</a>; </font><br>
<br>
<br>
</p>
</div></td>
</tr>
</table>
<br>
</div>
</body>
EOT;

// Text mail
$text=<<<EOT
Nieuwsbrief

De site is geupdate!!!
Vanaf vandaag is de site weer Up to Date...!!!
Klik op de onderstaande link voor een bezoek aan de site.
http://www.mijnsite.com/

Om geen updates meer te ontvangen kun je je hier afmelden:<br>
http://www.mijnsite.com/afmelden

Met vriendelijke groet,
Webmaster
EOT;


// Include de myMailer class
require_once ($_SERVER['DOCUMENT_ROOT'].'/site/admin/mailing/class.mymailer.php');

// Maak een instantie van de class
$mailer = new myMailer();

// Installeer het onderwerp van de mail
$mailer->Subject = 'Site Mailing';

// Installeer de body van de mail
$mailer->Body = $html;

// Vertel de class dat je een HTML mail verstuurt
$mailer->isHTML(TRUE);

// Installeer de alternatieve textversie van de mail
$mailer->AltBody = $text;

// Installeer de ontvanger van het bericht
// installeer BCC (Blind Carbon Copy) voor andere ontvanger
$query = mysql_query("SELECT * FROM mailing");
while ($row = mysql_fetch_assoc ($query)) {
$mailer->addBCC($row['email']);
}

// verstuur de mail
if(!$mailer->Send()){
echo '<font color=000000>Mail niet verzonden, er ging iets verkeerd</font>';
}else{
echo '<font color=000000>De email is verzonden</font>';
}

// verwijder de info over adressen en eventuele bijlagen uit de class
$mailer->ClearAddresses();
$mailer->ClearAttachments();
?>

Ga eens controleren of de query wel is gelukt, foutafhandeling schittert door afwezigheid. Vrij logisch dat het dan fout gaat, foutafhandeling is de basis van ieder goed script.

Ps. $query is geen query maar een resultset. $result is dan ook een betere naam, het beschrijft wat je in de variabele kunt aantreffen.
Met foutafhandeling krijg ik de volgende melding:

Mail niet verzonden, er ging iets verkeerd, namelijk: Language string failed to load: instantiate: Could not instantiate mail function

Dus ga weer even verder puzzelen...

Reageren