Navigace:Pravda v očích.cz ⇒ PHP ⇒ Jak na lepší rozesílání mailů v phpRS
Jak na lepší rozesílání mailů v phpRS
Pokud máte web postavený na redakčním systému phpRS, můžete mít problém s hromadným rozesíláním e-mailů, protože phpRS k tomuto používá pouze funkci PHP mail(), která je často v konfiguracích na webhostingu buď zakázána a nebo omezena tak, že ji k hromadnému rozesílání…
phpmailer charset windows 1250,
smtp cz,
PHPmailer český manuál,
jak odesílat maily z webu,
phpmailer jakej pouzit smtp server,
newsletter cloud,
phpmailer,
phpmailer odeslání a href,
phprs infomail,
maily pravda,
Pokud máte web postavený na redakčním systému phpRS, můžete mít problém s hromadným rozesíláním e-mailů, protože phpRS k tomuto používá pouze funkci PHP mail(), která je často v konfiguracích na webhostingu buď zakázána a nebo omezena tak, že ji k hromadnému rozesílání mailů nelze použít. Například na serverech BlueBoardu (kde hostuje tento blog) je maximální počet odeslaných mailů za hodinu kolem 30ti, pokud chci rozeslat mail zhruba 80 registrovaným čtenářům, mám prostě smůlu.
Problém řeší drobný zásah do kódu phpRS. K rozesílání mailů použijeme volně dostupnou open-source knihovnu PHP-Mailer, stáhnout si ji můžete na http://phpmailer.codeworxtech.com/. Soubory této knihovny nahrajte na serveru s phpRS do adresáře admin/phpmailer. Nyní si opět ve složce admin najděte soubor aarticles.php a v něm si najděte tuto funkci:
Problém řeší drobný zásah do kódu phpRS. K rozesílání mailů použijeme volně dostupnou open-source knihovnu PHP-Mailer, stáhnout si ji můžete na http://phpmailer.codeworxtech.com/. Soubory této knihovny nahrajte na serveru s phpRS do adresáře admin/phpmailer. Nyní si opět ve složce admin najděte soubor aarticles.php a v něm si najděte tuto funkci:
function AcInfoDopis()
{
// odeslani e-mailu
$odeslani_posty = new CPosta();
$odeslani_posty->NastavInfoMail();
$odeslani_posty->Nastav("predmet",$GLOBALS['prtitulek']);
$odeslani_posty->Nastav("obsah",$GLOBALS['probsah']);
$odeslani_posty->Odesilac();*/
// navrat
echo "<p align="center" class="txt"><a href="admin.php?akce=Articles&modul=clanky">".RS_CLA_CL_ZPET."</a></p> ";
}
{
// odeslani e-mailu
$odeslani_posty = new CPosta();
$odeslani_posty->NastavInfoMail();
$odeslani_posty->Nastav("predmet",$GLOBALS['prtitulek']);
$odeslani_posty->Nastav("obsah",$GLOBALS['probsah']);
$odeslani_posty->Odesilac();*/
// navrat
echo "<p align="center" class="txt"><a href="admin.php?akce=Articles&modul=clanky">".RS_CLA_CL_ZPET."</a></p> ";
}
Celou funkci přepište tímto kódem:
function AcInfoDopis()
{
//NOVY ZPUSOB ODESILANI MAILU POMOCI KNIHOVNY PHP-MAILER
//Pro phprs zkompiloval Jakub Dvorak - http://www.pravdavocich.cz
require("phpmailer/class.phpmailer.php");
$tvujmail = "frantanovak@loremipsum.com"; //SEM ZADEJTE MAIL, ZE KTEREHO CHCETE ODESILAT
$mail = new PHPMailer();
$mail->CharSet = 'windows-1250'; // nastavení kodování e-mailu
$mail->IsSMTP(); // použijeme k odeslání e-mailu SMTP server
$mail->SMTPAuth = true; // je nutná SMTP autorizace
$mail->Host = 'smtp.seznam.cz'; // adresa SMTP serveru
$mail->Username = 'uzivatelskejmeno'; // uživatelské jméno
$mail->Password = 'vaseheslo'; // uživatelské heslo
$mail->From = $tvujmail; // e-mailová adresa odesílatele
$mail->FromName = "Franta Novák"; // celé jméno odesílatele
$ctenarmail = mysql_query("SELECT email FROM " . $GLOBALS["rspredpona"] . "ctenari");
while($read=mysql_fetch_array($ctenarmail)) {
$mail->AddBCC($read['email']);
}
$mail->AddAddress($tvujmail);
$mail->Subject = $GLOBALS['prtitulek'];
$mail->Body = $GLOBALS['probsah'];
$mail->WordWrap = 50;
if(!$mail->Send()) {
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'E-mail odeslán.';
}
// navrat
echo "<p align="center" class="txt"><a href="admin.php?akce=Articles&modul=clanky">".RS_CLA_CL_ZPET."</a></p> ";
}
{
//NOVY ZPUSOB ODESILANI MAILU POMOCI KNIHOVNY PHP-MAILER
//Pro phprs zkompiloval Jakub Dvorak - http://www.pravdavocich.cz
require("phpmailer/class.phpmailer.php");
$tvujmail = "frantanovak@loremipsum.com"; //SEM ZADEJTE MAIL, ZE KTEREHO CHCETE ODESILAT
$mail = new PHPMailer();
$mail->CharSet = 'windows-1250'; // nastavení kodování e-mailu
$mail->IsSMTP(); // použijeme k odeslání e-mailu SMTP server
$mail->SMTPAuth = true; // je nutná SMTP autorizace
$mail->Host = 'smtp.seznam.cz'; // adresa SMTP serveru
$mail->Username = 'uzivatelskejmeno'; // uživatelské jméno
$mail->Password = 'vaseheslo'; // uživatelské heslo
$mail->From = $tvujmail; // e-mailová adresa odesílatele
$mail->FromName = "Franta Novák"; // celé jméno odesílatele
$ctenarmail = mysql_query("SELECT email FROM " . $GLOBALS["rspredpona"] . "ctenari");
while($read=mysql_fetch_array($ctenarmail)) {
$mail->AddBCC($read['email']);
}
$mail->AddAddress($tvujmail);
$mail->Subject = $GLOBALS['prtitulek'];
$mail->Body = $GLOBALS['probsah'];
$mail->WordWrap = 50;
if(!$mail->Send()) {
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'E-mail odeslán.';
}
// navrat
echo "<p align="center" class="txt"><a href="admin.php?akce=Articles&modul=clanky">".RS_CLA_CL_ZPET."</a></p> ";
}
Samozřejmě je nutné udělat pár úprav v kódu, především zadejte mail, ze kterého chcete odesílat do proměnné $tvujmail, dále je potřeba nastavit adresu SMTP serveru, ze kterého chcete odesílat (pokud checete odesílat ze Seznamáckého, nechte smtp.seznam.cz), do Username a Password zadejte své přihlašovací údaje na SMTP. Také je potřeba změnit FromName.
Pokud chcete rozesílat e-mail pouze čtenářům, kteří mají aktivovanou službu Info, použijte tento SQL dotaz:
$ctenarmail = mysql_query("SELECT email FROM " . $GLOBALS["rspredpona"] . "ctenari WHERE info='1'");
Kometáře
Nick Tesik
Dobrý den,
pokoušel jst se někdo dopracovat do souboru astdlib_mail.php autorizaci SMTP? A pokud ano, podělíte se se mnou o takto upravený soubor?
3.4.2008 15:04
Nick Tesik
Tak už není třeba, soubor jsem si upravil sám...
11.4.2008 16:04
Nové kometáře nejsou povolené.
Související články
- Jak na lepší rozesílání mailů v phpRS
- JakubDvorak.eu má lepší SEO než Jednoauto.com
- Na kolik je vhodné nasazovat phpRS
- Je nový Windows Live Messegner lepší než ICQ 5.1?
- FCKEditor 2.3.2 - velmi dobrý WYSIWYG editor do phpRS
Jakub Dvořák |