Pozdrav,
na ovom forumu sam svojevremeno dobio savete da je za mass mailing najuputnije koristiti swiftmailer klasu.
E sad, slanje jednobraznog mejla svim registrovanim korisnicima nije problem.
Ali, pojavio se zahtev da se u svaki mejl doda ''opt-out'' link, odnosno link koji bi korisniku omogucio skidanje sa mejling liste.
Nikako mi ne uspeva ubacivanje tog linka u telo poruke.
Stigao sam dovde(koristim primer sa njihovog sajta):
require_once "Swift.php";
require_once "Swift/Connection/SMTP.php";
require_once "Swift/Plugin/Decorator.php";
//Instantiate Swift as usual
$smtp =& new Swift_Connection_SMTP("smtpserver",26);
//$smtp->setTimeout(2);
$smtp->setUsername("korisnik");
$smtp->setPassword("lsifra");
$swift =& new Swift($smtp);
//Create the message, using some unique variables to search for
$message =& new Swift_Message("Hello {name},this is mail from site", "$message_is {opt_out_link}","text/html");
$query = "SELECT * FROM signup WHERE flag='1'";
$result = mysql_query ($query)
or die ("Query failed");
while ($mails = mysql_fetch_array($result)) {
//Specify the list of replacements as a 2-d array
$replacements = array(
"$mails[email]" => array("{name}" => "$mails[name]", "{opt_out_link}" => "<p>
If you want to be removed from mailing list, please click this link:<br/ >
<a href=\"sinisake.com/projects/massmail/remove.php?rid=$mails[id]\">Remove Me</a></p>"),
);
print_r($replacements); // Da, sad i vidim problem, ali ne znam kako to resiti... (array_push)???
}
$swift->attachPlugin(new Swift_Plugin_Decorator($replacements), "decorator");
ali pokusaj da posaljem mejl sa adekvatnim linkom ne uspeva.
Gde(i kako, sta i da li dodati) staviti $swift->send pa da ovo profercera?
Uspelo je slanje mejla, ali se u telu poruke uvek pojavljuje isti link(sa istim korisnickim id-om).
Mislim, kobni deo je onaj $replacements, upetljao sam se u petlje... ;)
Unapred hvala na pomoci. :)
[Ovu poruku je menjao kelja dana 02.05.2008. u 16:09 GMT+1]











Swiftmailer problem - dodavanje linka za brisanje sa mailing liste