Hallo,
Voor een site gebruik ik PHPMailer 5.1 om gemakkelijk emails te verzenden
naar gebruikers. Maar nu ik het script klaar heb en niet veel emails per keer
wilt verzenden zet ik een limit op de query en doormiddel van een cron
pakt die de volgende aantal adressen. toen ik het handmatige ging testen
ging alles goed, maar nu het via de cron loopt is de From header niet meer goed
er staat nu:Ik wil dat er alleen maar Sitenaam (voorbeeld) komt te staan.Code:Van: gebruiker@server1.servernaam.com Namens Sitenaam
hoe kan ik dat instellen ?
Mvg, Ben
- phpmailer 5.1 vraagje
-
19-06-2010, 20:30 #1
- Berichten
- 442
- Lid sinds
- 16 Jaar
phpmailer 5.1 vraagje
-
-
19-06-2010, 20:49 #2
- Berichten
- 211
- Lid sinds
- 15 Jaar
Door gewoon
weg te halen in je code? Of staat die er niet?
-
19-06-2010, 21:38 #3
- Berichten
- 442
- Lid sinds
- 16 Jaar
nee ik heb dat er niet in me code staan. dit word er automatische bij gezet omdat ik het bestand via een cronjob aanroep.
-
19-06-2010, 23:44 #4
SoloHosting | SoloICT
- Berichten
- 194
- Lid sinds
- 19 Jaar
Om de afzender van de mail te defineren moet de volgende variabel plaatsen in je PHPmailer verwerkingscode:
$mail->FromName = 'Hier komt de gewenste sitenaam.nl';
Op deze manier weet PHPmailer onder welke afzendernaam de mail verstuurd moet worden.
-
20-06-2010, 00:07 #5
- Berichten
- 442
- Lid sinds
- 16 Jaar
hoi kevin, Ik heb het volgende staan in het script:
PHP Code:include('db_connect.php');
include('class.phpmailer.php');
while($row = mysql_fetch_assoc($members)){
$email = $row['email'];
$onderwerp = $_POST['subject'];
$bericht = stripslashes($_POST['message']);
$mail = new PHPMailer();
$mail->isHTML(true);
$mail->From = $config['email']; //dit word uit het database gehaalt
$mail->FromName = $config['sitenaam']; //dit word uit het database gehaalt
$mail->Subject = $onderwerp;
$mail->MsgHTML($bericht);
$mail->AddAddress($email);
if (!$mail->Send())
{
echo "Het bericht kon niet worden verstuurd. <p>";
echo "Error: " . $mail->ErrorInfo;
exit;
}
mysql_query("UPDATE leden SET verzonden='1' where email='".mysql_real_escape_string($row['email'])."'") or die(mysql_error());
}
namens sitenaam.
-
20-06-2010, 10:35 #6
- Berichten
- 394
- Lid sinds
- 15 Jaar
Laat je class.phpmailer.php eens zien?
hoi kevin, Ik heb het volgende staan in het script:
PHP Code:include('db_connect.php');
include('class.phpmailer.php');
while($row = mysql_fetch_assoc($members)){
$email = $row['email'];
$onderwerp = $_POST['subject'];
$bericht = stripslashes($_POST['message']);
$mail = new PHPMailer();
$mail->isHTML(true);
$mail->From = $config['email']; //dit word uit het database gehaalt
$mail->FromName = $config['sitenaam']; //dit word uit het database gehaalt
$mail->Subject = $onderwerp;
$mail->MsgHTML($bericht);
$mail->AddAddress($email);
if (!$mail->Send())
{
echo "Het bericht kon niet worden verstuurd. <p>";
echo "Error: " . $mail->ErrorInfo;
exit;
}
mysql_query("UPDATE leden SET verzonden='1' where email='".mysql_real_escape_string($row['email'])."'") or die(mysql_error());
}
namens sitenaam.
-
20-06-2010, 10:43 #7
- Berichten
- 691
- Lid sinds
- 15 Jaar
Denk dat je je host om een oplossing moet vragen, kennelijk word er middels de cron extra of andere informatie mee verzonden. Je geeft zelf al aan dat dit handmatig niet het geval is.
Laatst aangepast door S. van Laere : 20-06-2010 om 10:51
-
20-06-2010, 10:45 #8
SoloHosting | SoloICT
- Berichten
- 194
- Lid sinds
- 19 Jaar
Hmm, raar!
Misschien dat er inderdaad een fout in de class zit, maar als je die class zonder aan te passen integreert zou het gewoon moeten werken.
Misschien instellingen van de host?
Probeer anders eens om PHPmailer op SMTP modus te zetten (dus dat phpmailer zich aanmeld bij de SMTP server alvorens de mail verstuurd wordt), wellicht werkt dit wel zoals het zou moeten.
hoi kevin, Ik heb het volgende staan in het script:
PHP Code:include('db_connect.php');
include('class.phpmailer.php');
while($row = mysql_fetch_assoc($members)){
$email = $row['email'];
$onderwerp = $_POST['subject'];
$bericht = stripslashes($_POST['message']);
$mail = new PHPMailer();
$mail->isHTML(true);
$mail->From = $config['email']; //dit word uit het database gehaalt
$mail->FromName = $config['sitenaam']; //dit word uit het database gehaalt
$mail->Subject = $onderwerp;
$mail->MsgHTML($bericht);
$mail->AddAddress($email);
if (!$mail->Send())
{
echo "Het bericht kon niet worden verstuurd. <p>";
echo "Error: " . $mail->ErrorInfo;
exit;
}
mysql_query("UPDATE leden SET verzonden='1' where email='".mysql_real_escape_string($row['email'])."'") or die(mysql_error());
}
namens sitenaam.
Laatst aangepast door Kevin Bentlage : 20-06-2010 om 10:53
-
20-06-2010, 11:02 #9
- Berichten
- 940
- Lid sinds
- 16 Jaar
Ik heb exact hetzelfde probleem. https://www.sitedeals.nl/hosting-alge...ron-vraag.html
De 2074 regels van class.phpmailer.php zal ik hier maar niet pasten. Volgens mij is het een soort free ware programma. Info: http://sourceforge.net/projects/phpmailer/
We moeten het programma PHPmailer instellen maar ik snap niet hoe. Ik zit ook met twee verschillende servers dus dat is ook weer lastig.
Aanvullend bericht:
Ik gebruik trouwens Versie 2.2.1 van PHPmailer. Is dat een probleem?Laatst aangepast door Joost Culper : 20-06-2010 om 11:04 Reden: Automatisch samengevoegd.
-
20-06-2010, 11:09 #10
SoloHosting | SoloICT
- Berichten
- 194
- Lid sinds
- 19 Jaar
Maak een SMTP mailbox aan op je server welke door PHPmailer gebruikt kan worden, en gebruik deze login gegevens in het onderstaande (voorbeeld) script;
PHP Code:require_once('../class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Host = "mail.domeinnaam.nl"; // sets the SMTP server
$mail->Port = 25; // set the SMTP port for the GMAIL server
$mail->Username = "gebruikersnaam@domeinnaam.nl"; // SMTP account username
$mail->Password = "wachtwoord"; // SMTP account password
$mail->SetFrom('afzender@domeinnaam.nl', 'Voornaam Achternaam');
$mail->Subject = "Onderwerp van email";
$body = 'Email inhoud';
$mail->MsgHTML($body);
$mail->AddAddress('ontvanger@domeinnaam.nl', "Voornaam Achternaam");
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
-
20-06-2010, 13:00 #11
- Berichten
- 442
- Lid sinds
- 16 Jaar
Ik heb het al opgelost door de cron op deze manier te draaien:
Code:/usr/bin/wget -q --spider 'URL'
-
20-06-2010, 21:26 #12
- Berichten
- 940
- Lid sinds
- 16 Jaar
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic