Ciao a tutti, sono nuova sia per il forum sia per il php
Purtroppo dalla grafica mi tocca imparare anche la programmazione... cosa non si fa pur di lavorare! E una settimana che sto facendo tentativi su tentativi per fare uno script che mi invii in automatico un messaggio html (e fin qui ci sono arrivata), il problema è che gli utenti sono circa un migliaio!!! chiedendo aiuto in giro mi hanno suggerito swiftmailer che dopo molti tentativi sono riuscita a fare qualcosina, tuttavia non va ancora bene, nel senso che una volta che inoltro i dati la pagina continua ad andare e non finisce di spedire tutti i messaggi (o almeno credo).
Posto lo script, se qualcuno gentilmente mi può dare suggerimenti
piu o meno è questo.
grazie!
annazampa
Purtroppo dalla grafica mi tocca imparare anche la programmazione... cosa non si fa pur di lavorare! E una settimana che sto facendo tentativi su tentativi per fare uno script che mi invii in automatico un messaggio html (e fin qui ci sono arrivata), il problema è che gli utenti sono circa un migliaio!!! chiedendo aiuto in giro mi hanno suggerito swiftmailer che dopo molti tentativi sono riuscita a fare qualcosina, tuttavia non va ancora bene, nel senso che una volta che inoltro i dati la pagina continua ad andare e non finisce di spedire tutti i messaggi (o almeno credo).
Posto lo script, se qualcuno gentilmente mi può dare suggerimenti
PHP:
<?php
require_once '/lib/swift_required.php';
if($_POST["send"]) {
$where = "idconfig = 1";
$mysql = new queryclass("mamba_newsletter_config", "", $where);
$mysql->select();
$config_admin_name = $mysql->result["config_admin_name"][1];
$config_admin_email = $mysql->result["config_admin_email"][1];
$config_label1 = $mysql->result["config_label1"][1];
$config_label2 = $mysql->result["config_label2"][1];
unset($mysql);
//riempo l'array con tutti gli indirizzi email:
$to[] = "tutti gli indirizzi email";
//dati smtp
$smtp_config = array(
'newsletter_title'=>'xxxxxxxx',
'name_from'=>'xxxxxxxx',
'email_from'=>'xxxxxxxx',
'email_to'=>'xxxxxxxxx',
'connection'=>'smtp.xxxxxxxxxxx',
'username'=>'xxxxxxxxxxxx',
'password'=>'xxxxxxxx',
'port'=> 25,
'encryption'=>false);
//Create the Transport
if(!$smtp_config['encryption']) {
$transport = Swift_SmtpTransport::newInstance($smtp_config['connection'], $smtp_config['port'])
->setUsername($smtp_config['username'])
->setPassword($smtp_config['password']);
} else {
$transport = Swift_SmtpTransport::newInstance($smtp_config['connection'], $smtp_config['port'])
->setUsername($smtp_config['username'])
->setPassword($smtp_config['password'])
->setEncryption($smtp_config['encryption']);
}
$mailer = new Swift_Mailer($transport);
$mailer->registerPlugin(new Swift_Plugins_AntiFloodPlugin(100, 30));
Swift_Preferences::getInstance()->setCacheType('null');
// Create email
$message = Swift_Message::newInstance();
$message->setSubject($smtp_config['newsletter_title']);
$message->setFrom(array($smtp_config['email_from'] => $smtp_config['name_from']));
$message->setMaxLineLength(1000);
$message->setEncoder(Swift_Encoding::get8BitEncoding());
//Send the message
$failedRecipients = array();
$numSent = 0;
foreach($to as $address => $name) {
if (is_int($address)) {
$message->setTo($name);
} else {
$message->setTo(array($address => $name));
}
$message->setBody($message_body,'text/html');
$numSent += $mailer->send($message, $failedRecipients);
}
echo '<div id="newsletter_wait">';
printf("Sent %d messages\n", $numSent);
echo '</div>';
};
?>
piu o meno è questo.
grazie!
annazampa
Ultima modifica di un moderatore: