Visualizzazione risultati 1 fino 28 di 28

Discussione: [phpnuke] Newsletter su phpnuke6.9 nn funzionante

  1. #1
    Guest

    Predefinito

    Salve a tutti,
    ho questo problema, quando spedisco una mail a tutti gli utenti del mio sito (420 al momento) la newsletter nn arriva a nessuno. Cosa posso modificare come faccio a vedere dove e quale è l'errore?

    grazie
    Manshoon

  2. #2
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    €l'errore dipende dalla protezioni di altervista, infatti non puoi inviare + di una mail ogni 3 secondi...

    ovvio che un ciclo while come quello ke usa il nuke supera questo limite...

    io l'avevo modificato in modo da fare un'unica chiamata al demone dalle mail e passando tutti gli indirizzi come "bcc:"

    i tuoi utenti però sono molti... e non so se riesca a reggere una stringa così lunga....

    l'unico modo per saperlo è provare :

    apri il file admin/modules/newsletter.php

    trova queste righe:
    Codice PHP:
    while(list($user_email) = sql_fetch_row($result, $dbi)) {
    mail($user_email, $subject, $content, "From: $from\nX-Mailer: PHP/" . phpversion());
    }
    e sostituiscile con questo codice:
    Codice PHP:
    //evcz mod
    $intestazione = "From: $adminmail\n";
    $intestazione .= "Bcc: $adminmail";
    while(list(
    $user_email) = sql_fetch_row($result, $dbi)) {
    $intestazione .= ", $user_email";
    }
    $intestazione .= "\n";
    mail($adminmail, $subject, $content, $intestazione);
    //fine evcz mod
    NB: dovresti sostituire il codice due volte, cercale entrambe nel file

    fammi sapere se riesce a reggere un'unica chiamata con 500 indirizzi, mi interessa
    Ultima modifica di jostock : 05-04-2006 alle ore 16.25.14
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  3. #3
    Guest

    Predefinito

    Ok ti straringrazio provo e poi ti faccio sapere, ma una cosa se poi gli utenti crescono come faccio?????
    intanto provo!

  4. #4
    Guest

    Predefinito

    Grande ora funziona!! Speriamo che una volta superati i 500 nn ci siano problemi! il sito cresce di circa 8-10 utenti al giorno!!

    byez
    Manshoon

  5. #5
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    Citazione Originalmente inviato da zaxarius
    Grande ora funziona!! Speriamo che una volta superati i 500 nn ci siano problemi! il sito cresce di circa 8-10 utenti al giorno!!

    byez
    Manshoon
    per essere sicuro che funzioni puoi fare questa piccola modifica:

    //evcz mod
    $intestazione = "From: $adminmail\n";
    $intestazione .= "Bcc: $adminmail";
    while(list($user_email) = sql_fetch_row($result, $dbi)) {
    $intestazione .= ", $user_email";
    }
    $intestazione .= ", tuoindirizzoemaildiconferma@dominio.com";
    $intestazione .= "\n";
    mail($adminmail, $subject, $content, $intestazione);
    //fine evcz mod
    mettendo un tuo indirizzo email nella riga che ho messo in grassetto...

    in questo modo l'indirizzo che chiude la lista è proprio quello... così saprai che se ti arriva su quello è arrivata anche su tutti gli altri
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  6. #6
    Guest

    Predefinito

    Grazie ora modifico anche quello!;)

  7. #7
    Guest

    Predefinito

    Ecco appunto ora ho sono a 1500 e non funziona più cosa posso fare?

  8. #8
    Guest

    Predefinito

    Ecco qua il file sotto accusa;)
    Grazie in anticipo Evcz

    Codice PHP:
    <?php

    /************************************************************************/
    /* PHP-NUKE: Web Portal System */
    /* =========================== */
    /* */
    /* Copyright (c) 2002 by Francisco Burzi */
    /* [url]http://phpnuke.org[/url] */
    /* */
    /* This program is free software. You can redistribute it and/or modify */
    /* it under the terms of the GNU General Public License as published by */
    /* the Free Software Foundation; either version 2 of the License. */
    /************************************************************************/

    if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }

    $result = sql_query("select radminnewsletter, radminsuper from ".$prefix."_authors where aid='$aid'", $dbi);
    list(
    $radminnewsletter, $radminsuper) = sql_fetch_row($result, $dbi);
    if ((
    $radminnewsletter==1) OR ($radminsuper==1)) {

    /*********************************************************/
    /* Sections Manager Functions */
    /*********************************************************/

    function newsletter() {
    global
    $prefix, $user_prefix, $dbi, $sitename;
    include(
    "header.php");
    GraphicAdmin();
    $srow = sql_num_rows(sql_query("select * from ".$user_prefix."_users where newsletter='1'", $dbi), $dbi);
    $urow = sql_num_rows(sql_query("select * from ".$user_prefix."_users", $dbi), $dbi);
    $urow--;
    OpenTable();
    echo
    "<center><font class=\"title\"><b>"._NEWSLETTER."</b></font></center>";
    CloseTable();
    echo
    "<br>";
    OpenTable();
    echo
    "<center><font class=\"content\"><b>"._NEWSLETTER."</b></font></center>"
    ."<br><br>"
    ."<form method=\"post\" action=\"admin.php\">"
    ."<b>From:</b> $sitename"
    ."<br><br>"
    ."<b>"._SUBJECT.":</b><br><input type=\"text\" name=\"subject\" size=\"50\">"
    ."<br><br>"
    ."<b>"._CONTENT.":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\"></textarea>"
    ."<br><br>"
    ."<b>"._WHATTODO."</b><br>"
    ."<input type=\"radio\" name=\"type\" value=\"newsletter\" checked> "._ANEWSLETTER." ($srow "._SUBSCRIBEDUSERS.")<br>"
    ."<input type=\"radio\" name=\"type\" value=\"massmail\"> "._MASSMAIL." ($urow "._USERS.")"
    ."<br><br>"
    ."<input type=\"hidden\" name=\"op\" value=\"check_type\">"
    ."<input type=\"submit\" value=\""._PREVIEW."\">"
    ."</form>";
    CloseTable();
    include(
    "footer.php");
    }

    function
    check_type($subject, $content, $type) {
    global
    $user_prefix, $dbi, $sitename;
    include(
    "header.php");
    GraphicAdmin();
    $srow = sql_num_rows(sql_query("select * from ".$user_prefix."_users where newsletter='1'", $dbi), $dbi);
    $urow = sql_num_rows(sql_query("select * from ".$user_prefix."_users", $dbi), $dbi);
    $urow--;
    OpenTable();
    echo
    "<center><font class=\"title\"><b>"._NEWSLETTER."</b></font></center>";
    CloseTable();
    echo
    "<br>";
    OpenTable();
    $content = stripslashes($content);
    if (
    $type == "newsletter") {
    echo
    "<center><font class=\"content\"><b>"._NEWSLETTER."</b></font>"
    ."<br><br>"
    ."<form action\"admin.php\" method=\"post\">"
    .""._NYOUAREABOUTTOSEND."<br>"
    ."<b>$srow</b> "._NUSERWILLRECEIVE."<br><br>"
    ."<b>"._REVIEWTEXT."</b></center><br><br>"
    ."<b>"._FROM.":</b> $sitename<br><br>"
    ."<b>"._SUBJECT.":</b><br><input type=\"text\" name=\"title\" value=\"$subject\" size=\"50\"><br><br>"
    ."<b>"._CONTENT.":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\">$content</textarea><br><br><br><br>"
    ."<b>"._NAREYOUSURE2SEND."</b><br><br>"
    ."<input type=\"hidden\" name=\"op\" value=\"newsletter_send\">"
    ."<input type=\"submit\" value=\""._SEND."\"> &nbsp;&nbsp; "._GOBACK.""
    ."</form>";
    } elseif (
    $type == "massmail") {
    echo
    "<center><font class=\"content\"><b>"._MASSEMAIL."</b></font>"
    ."<br><br>"
    ."<form action\"admin.php\" method=\"post\">"
    .""._MYOUAREABOUTTOSEND."<br>"
    ."<b>$urow</b> "._MUSERWILLRECEIVE."<br>"
    ."<i><b>"._POSSIBLESPAM."</b></i><br><br>"
    ."<b>"._REVIEWTEXT."</b></center><br><br>"
    ."<b>"._FROM.":</b> $sitename<br><br>"
    ."<b>"._SUBJECT.":</b><br><input type=\"text\" name=\"title\" value=\"$subject\" size=\"50\"><br><br>"
    ."<b>"._CONTENT.":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\">$content</textarea><br><br><br><br>"
    ."<b>"._MAREYOUSURE2SEND."</b><br><br>"
    ."<input type=\"hidden\" name=\"op\" value=\"massmail_send\">"
    ."<input type=\"submit\" value=\""._SEND."\"> &nbsp;&nbsp; "._GOBACK.""
    ."</form>";
    }
    if ((
    $type == "newsletter") AND ($srow > 500)) {
    CloseTable();
    echo
    "<br>";
    OpenTable();
    echo
    "<center><i>"._MANYUSERSNOTE."</i></center>";
    } elseif ((
    $type == "massmail") AND ($urow > 500)) {
    CloseTable();
    echo
    "<br>";
    OpenTable();
    echo
    "<center><i>"._MANYUSERSNOTE."</i></center>";
    }
    CloseTable();
    include(
    "footer.php");
    }

    function
    newsletter_send($title, $content) {
    global
    $user_prefix, $sitename, $dbi, $nukeurl, $adminmail;
    $from = $adminmail;
    $subject = "[$sitename Newsletter]: ".stripslashes($title)."";
    $content = stripslashes($content);
    $content = "$sitename "._NEWSLETTER."\n\n\n$content\n\n- $sitename "._STAFF."\n\n\n\n\n\n"._NLUNSUBSCRIBE."";
    $result = sql_query("select user_email from ".$user_prefix."_users where newsletter='1'", $dbi);
    //evcz mod
    $intestazione = "From: $adminmail\n";
    $intestazione .= "Bcc: $adminmail";
    while(list(
    $user_email) = sql_fetch_row($result, $dbi)) {
    $intestazione .= ", $user_email";
    }
    $intestazione .= ", [email]manshoon@virgilio.it[/email]";
    $intestazione .= "\n";
    mail($adminmail, $subject, $content, $intestazione);
    //fine evcz mod

    Header("Location: admin.php?op=newsletter_sent");
    }

    function
    newsletter_sent() {
    include(
    "header.php");
    GraphicAdmin();
    OpenTable();
    echo
    "<center><font class=\"title\"><b>"._NEWSLETTER."</b></font></center>";
    CloseTable();
    echo
    "<br>";
    OpenTable();
    echo
    "<center><font class=\"content\"><b>"._NEWSLETTER."</b></font><br><br>";
    echo
    "<b>"._NEWSLETTERSENT."</b></center>";
    CloseTable();
    include(
    "footer.php");
    }

    function
    massmail_send($title, $content) {
    global
    $user_prefix, $sitename, $dbi, $nukeurl, $adminmail;
    $from = $adminmail;
    $subject = "[$sitename]: $title";
    $content = stripslashes($content);
    $content = ""._FROM.": $sitename\n\n\n\n$content\n\n\n\n- $sitename "._STAFF."\n\n\n\n"._MASSEMAILMSG."";
    $result = sql_query("select user_email from ".$user_prefix."_users where user_id != '1'", $dbi);
    //evcz mod
    $intestazione = "From: $adminmail\n";
    $intestazione .= "Bcc: $adminmail";
    while(list(
    $user_email) = sql_fetch_row($result, $dbi)) {
    $intestazione .= ", $user_email";
    }
    $intestazione .= "\n";
    mail($adminmail, $subject, $content, $intestazione);
    //fine evcz mod
    Header("Location: admin.php?op=massmail_sent");
    }

    function
    massmail_sent() {
    include(
    "header.php");
    GraphicAdmin();
    OpenTable();
    echo
    "<center><font class=\"title\"><b>"._MASSEMAIL."</b></font></center>";
    CloseTable();
    echo
    "<br>";
    OpenTable();
    echo
    "<center><font class=\"content\"><b>"._MASSEMAIL."</b></font><br><br>";
    echo
    "<b>"._MASSEMAILSENT."</b></center>";
    CloseTable();
    include(
    "footer.php");
    }

    switch (
    $op) {

    case
    "newsletter":
    newsletter();
    break;

    case
    "newsletter_send":
    newsletter_send($title, $content);
    break;

    case
    "newsletter_sent":
    newsletter_sent();
    break;

    case
    "massmail_send":
    massmail_send($title, $content);
    break;

    case
    "massmail_sent":
    massmail_sent();
    break;

    case
    "check_type":
    check_type($subject, $content, $type);
    break;

    }

    } else {
    echo
    "Access Denied";
    }

    ?>
    Ultima modifica di jostock : 23-03-2006 alle ore 14.24.18

  9. #9
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    ok... la parte che ci interessa modificare è questa:

    Codice PHP:
    //evcz mod
    $intestazione = "From: $adminmail\n";
    $intestazione .= "Bcc: $adminmail";
    while(list(
    $user_email) = sql_fetch_row($result, $dbi)) {
    $intestazione .= ", $user_email";
    }
    $intestazione .= ", [email]manshoon@virgilio.it[/email]";
    $intestazione .= "\n";
    mail($adminmail, $subject, $content, $intestazione);
    //fine evcz mod
    da quello che mi dici oltre i 1500 utente da problemi... quindi io direi di suddivederla in tante mail da 750utenti ciascuna..

    quindi rimpiazza il codice sopra con questo:
    Codice PHP:
    //evcz mod
    $intestazione = "From: $adminmail\n";
    $intestazione .= "Bcc: $adminmail";
    $i = 0;
    while(list(
    $user_email) = sql_fetch_row($result, $dbi)) {
    $intestazione .= ", $user_email";
    $i++;
    if(
    $i > 750){
    $intestazione .= "\n";
    mail($adminmail, $subject, $content, $intestazione);
    sleep(3);
    $intestazione = "From: $adminmail\n";
    $intestazione .= "Bcc: $adminmail";
    $i = 0;
    }
    }
    $intestazione .= "\n";
    mail($adminmail, $subject, $content, $intestazione);
    //fine evcz mod
    con questa modifica invece di mandare un'unica mail da 1500 o + utenti... ne manda tante da 750ciascuna....

    ovviamente a te ad ogni invio verrà recapitata una mail in +...

    per esempio se la mandi a 2500utenti nella mail dell'admin del sito arriverà 4 volte (2500/750 approsimato per eccesso) :grin:

    devi tenere in conto che per inviare tante mail ci impiegherà un po' più tempo di prima: 3secondi per ogni spezzone da 750 ;)

    quindi con 2500 ti resterebbe la pagina bianca per 3sec*4 = 12sec... basta che lo lascia li fermo con un po' di pazienza lui fa tutto ;)

    fammi sapere se funzia...
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  10. #10
    Guest

    Predefinito

    l'ho spedita una decina di minuti fa oramai ma niente..

  11. #11
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    a nessuno nemmeno una volta?????
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  12. #12
    Guest

    Predefinito

    a me non ne è arrivata nemmeno una e agli altri che ho potuto sentire neanche..che faccio' aspetto?

  13. #13
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    Citazione Originalmente inviato da zaxarius
    a me non ne è arrivata nemmeno una e agli altri che ho potuto sentire neanche..che faccio' aspetto?
    mm... dopo sto tempo dovrebbe aver già fatto...

    nella generazione della pag ci ha messo un po' di tempo + del solito?

    prova ad autoscriverti un feedback dal sito e vedi se quello ti va...
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  14. #14
    Guest

    Predefinito

    Aspetta una cosa ma anche questa seconda modifica che mi hai detto di fare la devo fare in più punti del file newsletter.php? come la vecchia? perchè io l'ho modificata in un punto solo.

  15. #15
    Guest

    Predefinito

    si i feedback tornano correttamente...

  16. #16
    Guest

    Predefinito

    Perfetto risolto!!!!!!! Quello script che mi hai dato semplicemente lo devevo sostituire in più di un punto nel file;)
    Stragrazie come sempre!

  17. #17
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    Citazione Originalmente inviato da zaxarius
    Perfetto risolto!!!!!!! Quello script che mi hai dato semplicemente lo devevo sostituire in più di un punto nel file;)
    Stragrazie come sempre!
    si... andava sostituito ovunque ci fosse la chiamata a mail() OLD
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  18. #18
    Guest

    Predefinito

    scusa avrei bisogno di una mano ..il mio problema è lo stesso solo una cosa non quadra...io ho il file news completamente diverso dal vostro te lo posto
    Codice PHP:
    <?php

    /************************************************************************/
    /* PHP-NUKE: Web Portal System */
    /* =========================== */
    /* */
    /* Copyright (c) 2002 by Francisco Burzi */
    /* [url]http://phpnuke.org[/url] */
    /* */
    /* This program is free software. You can redistribute it and/or modify */
    /* it under the terms of the GNU General Public License as published by */
    /* the Free Software Foundation; either version 2 of the License. */
    /* */
    /************************************************************************/
    /* Additional security & Abstraction layer conversion */
    /* 2003 chatserv */
    /* [url]http://www.nukefixes.com[/url] -- [url]http://www.nukeresources.com[/url] */
    /************************************************************************/

    if ( !defined('ADMIN_FILE') )
    {
    die(
    "Illegal File Access");
    }
    global
    $prefix, $db, $admin_file;
    $aid = substr("$aid", 0,25);
    $row = $db->sql_fetchrow($db->sql_query("SELECT radminsuper FROM " . $prefix . "_authors WHERE aid='$aid'"));
    if (
    $row['radminsuper'] == 1) {

    /*********************************************************/
    /* Sections Manager Functions */
    /*********************************************************/

    function newsletter() {
    global
    $prefix, $user_prefix, $db, $sitename, $admin_file;
    @include(
    "header.php");
    GraphicAdmin();
    $srow = $db->sql_numrows($db->sql_query("select * from " . $user_prefix . "_users where newsletter='1'"));
    $urow = $db->sql_numrows($db->sql_query("select * from " . $user_prefix . "_users"));
    $urow--;
    OpenTable();
    echo
    "<center><font class=\"title\"><b>" . _NEWSLETTER . "</b></font></center>";
    CloseTable();
    echo
    "<br>";
    OpenTable();
    echo
    "<center><font class=\"content\"><b>" . _NEWSLETTER . "</b></font></center>"
    ."<br><br>"
    ."<form method=\"post\" action=\"".$admin_file.".php\">"
    ."<b>From:</b> $sitename"
    ."<br><br>"
    ."<b>" . _SUBJECT . ":</b><br><input type=\"text\" name=\"subject\" size=\"50\">"
    ."<br><br>"
    ."<b>" . _CONTENT . ":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\"></textarea>"
    ."<br><br>"
    ."<b>" . _WHATTODO . "</b><br>"
    ."<input type=\"radio\" name=\"type\" value=\"newsletter\" checked> " . _ANEWSLETTER . " ($srow " . _SUBSCRIBEDUSERS . ")<br>"
    ."<input type=\"radio\" name=\"type\" value=\"massmail\"> " . _MASSMAIL . " ($urow " . _USERS . ")"
    ."<br><br>"
    ."<input type=\"hidden\" name=\"op\" value=\"check_type\">"
    ."<input type=\"submit\" value=\"" . _PREVIEW . "\">"
    ."</form>";
    CloseTable();
    @include(
    "footer.php");
    }

    function
    check_type($subject, $content, $type) {
    global
    $user_prefix, $db, $sitename, $admin_file;
    @include(
    "header.php");
    GraphicAdmin();
    $srow = $db->sql_numrows($db->sql_query("select * from " . $user_prefix . "_users where newsletter='1'"));
    $urow = $db->sql_numrows($db->sql_query("select * from " . $user_prefix . "_users"));
    $urow--;
    OpenTable();
    echo
    "<center><font class=\"title\"><b>" . _NEWSLETTER . "</b></font></center>";
    CloseTable();
    echo
    "<br>";
    OpenTable();
    $content = stripslashes($content);
    if (
    $type == "newsletter") {
    echo
    "<center><font class=\"content\"><b>" . _NEWSLETTER . "</b></font>"
    ."<br><br>"
    ."<form action\"".$admin_file.".php\" method=\"post\">"
    ."" . _NYOUAREABOUTTOSEND . "<br>"
    ."<b>$srow</b> " . _NUSERWILLRECEIVE . "<br><br>"
    ."<b>" . _REVIEWTEXT . "</b></center><br><br>"
    ."<b>" . _FROM . ":</b> $sitename<br><br>"
    ."<b>" . _SUBJECT . ":</b><br><input type=\"text\" name=\"title\" value=\"$subject\" size=\"50\"><br><br>"
    ."<b>" . _CONTENT . ":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\">$content</textarea><br><br><br><br>"
    ."<b>" . _NAREYOUSURE2SEND . "</b><br><br>"
    ."<input type=\"hidden\" name=\"op\" value=\"newsletter_send\">"
    ."<input type=\"submit\" value=\"" . _SEND . "\"> &nbsp;&nbsp; " . _GOBACK . ""
    ."</form>";
    } elseif (
    $type == "massmail") {
    echo
    "<center><font class=\"content\"><b>" . _MASSEMAIL . "</b></font>"
    ."<br><br>"
    ."<form action\"".$admin_file.".php\" method=\"post\">"
    ."" . _MYOUAREABOUTTOSEND . "<br>"
    ."<b>$urow</b> " . _MUSERWILLRECEIVE . "<br>"
    ."<i><b>" . _POSSIBLESPAM . "</b></i><br><br>"
    ."<b>" . _REVIEWTEXT . "</b></center><br><br>"
    ."<b>" . _FROM . ":</b> $sitename<br><br>"
    ."<b>" . _SUBJECT . ":</b><br><input type=\"text\" name=\"title\" value=\"$subject\" size=\"50\"><br><br>"
    ."<b>" . _CONTENT . ":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\">$content</textarea><br><br><br><br>"
    ."<b>" . _MAREYOUSURE2SEND . "</b><br><br>"
    ."<input type=\"hidden\" name=\"op\" value=\"massmail_send\">"
    ."<input type=\"submit\" value=\"" . _SEND . "\"> &nbsp;&nbsp; " . _GOBACK . ""
    ."</form>";
    }
    if ((
    $type == "newsletter") AND ($srow > 500)) {
    CloseTable();
    echo
    "<br>";
    OpenTable();
    echo
    "<center><i>" . _MANYUSERSNOTE . "</i></center>";
    } elseif ((
    $type == "massmail") AND ($urow > 500)) {
    CloseTable();
    echo
    "<br>";
    OpenTable();
    echo
    "<center><i>" . _MANYUSERSNOTE . "</i></center>";
    }
    CloseTable();
    @include(
    "footer.php");
    }

    function
    newsletter_send($title, $content) {
    global
    $user_prefix, $sitename, $db, $nukeurl, $adminmail, $admin_file;
    $send_html_messages = "yes";
    $from = $adminmail;
    $subject = "[$sitename Newsletter]: " . stripslashes($title) . "";
    $content = stripslashes($content);
    $content = "$sitename " . _NEWSLETTER . "\n\n\n$content\n\n- $sitename " . _STAFF . "\n\n\n\n\n\n" . _NLUNSUBSCRIBE . "";
    $result = $db->sql_query("SELECT user_email from " . $user_prefix . "_users where newsletter='1'");
    while (
    $row = $db->sql_fetchrow($result)) {
    $user_email = $row['user_email'];
    $xheaders = "From: " . $sitename . " <" . $adminmail . ">\n";
    $xheaders .= "X-Sender: <" . $adminmail . ">\n";
    $xheaders .= "X-Mailer: PHP\n"; // mailer
    $xheaders .= "X-Priority: 6\n"; // Urgent message!
    if ($send_html_messages == "yes") {
    $xheaders .= "Content-Type: text/html; charset=iso-8859-1\n"; // Mime type
    }
    mail("$user_email","$subject","$content",$xheaders);
    }
    Header("Location: ".$admin_file.".php?op=newsletter_sent");
    }

    function
    newsletter_sent() {
    @include(
    "header.php");
    GraphicAdmin();
    OpenTable();
    echo
    "<center><font class=\"title\"><b>" . _NEWSLETTER . "</b></font></center>";
    CloseTable();
    echo
    "<br>";
    OpenTable();
    echo
    "<center><font class=\"content\"><b>" . _NEWSLETTER . "</b></font><br><br>";
    echo
    "<b>" . _NEWSLETTERSENT . "</b></center>";
    CloseTable();
    @include(
    "footer.php");
    }

    function
    massmail_send($title, $content) {
    global
    $user_prefix, $sitename, $db, $nukeurl, $adminmail, $admin_file;
    $send_html_messages = "yes";
    $from = $adminmail;
    $subject = "[$sitename]: $title";
    $content = stripslashes($content);
    $content = "" . _FROM . ": $sitename\n\n\n\n$content\n\n\n\n- $sitename " . _STAFF . "\n\n\n\n" . _MASSEMAILMSG . "";
    $result = $db->sql_query("SELECT user_email from " . $user_prefix . "_users where user_id != '1'");
    while (
    $row = $db->sql_fetchrow($result)) {
    $user_email = $row['user_email'];
    $xheaders = "From: " . $sitename . " <" . $adminmail . ">\n";
    $xheaders .= "X-Sender: <" . $adminmail . ">\n";
    $xheaders .= "X-Mailer: PHP\n"; // mailer
    $xheaders .= "X-Priority: 6\n"; // Urgent message!
    if ($send_html_messages == "yes") {
    $xheaders .= "Content-Type: text/html; charset=iso-8859-1\n"; // Mime type
    }
    mail("$user_email","$subject","$content",$xheaders);
    }
    Header("Location: ".$admin_file.".php?op=massmail_sent");
    }

    function
    massmail_sent() {
    @include(
    "header.php");
    GraphicAdmin();
    OpenTable();
    echo
    "<center><font class=\"title\"><b>" . _MASSEMAIL . "</b></font></center>";
    CloseTable();
    echo
    "<br>";
    OpenTable();
    echo
    "<center><font class=\"content\"><b>" . _MASSEMAIL . "</b></font><br><br>";
    echo
    "<b>" . _MASSEMAILSENT . "</b></center>";
    CloseTable();
    @include(
    "footer.php");
    }

    switch (
    $op) {

    case
    "newsletter":
    newsletter();
    break;

    case
    "newsletter_send":
    newsletter_send($title, $content);
    break;

    case
    "newsletter_sent":
    newsletter_sent();
    break;

    case
    "massmail_send":
    massmail_send($title, $content);
    break;

    case
    "massmail_sent":
    massmail_sent();
    break;

    case
    "check_type":
    check_type($subject, $content, $type);
    break;

    }

    } else {
    echo
    "Access Denied";
    }

    ?>
    ecco come vedi quelloceh dici tu di modificare qua non c'è quindi che faccio?

    La prossima volta inserisci il codice php tra gli appositi tag, in modo tale da non creare post kilometrico

    debug
    Ultima modifica di debug : 19-10-2005 alle ore 00.25.35

  19. #19
    Guest

    Predefinito

    Anch'io ho a volte dei problemi ad inviare piu di una email per volta... Ma non uso phpnuke c'è qualcosa che posso comunque fare?

  20. #20
    Guest

    Predefinito

    stesso sito di zaxarius e di nuovo stesso problema: 4327 utenti e la newsletter non parte. mi dite dove e cosa devo modificare, per favore?

  21. #21
    Guest

    Predefinito

    proviamo 500 mail ogni 2 secondi (non sono 3 ma 2)...
    Codice PHP:
    //evcz & abweb mod
    $intestazione = "From: $adminmail\n";
    $intestazione .= "Bcc: $adminmail";
    $i = 0;
    while(list(
    $user_email) = sql_fetch_row($result, $dbi)) {
    $intestazione .= ", $user_email";
    $i++;
    if(
    $i > 500){
    $intestazione .= "\n";
    mail($adminmail, $subject, $content, $intestazione);
    sleep(2); //sostituisci con sleep(3); se non funziona...
    $intestazione = "From: $adminmail\n";
    $intestazione .= "Bcc: $adminmail";
    $i = 0;
    }
    }
    $intestazione .= "\n";
    mail($adminmail, $subject, $content, $intestazione);
    //fine abweb & evcz mod
    prova ciao

  22. #22
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Per quello che so io, si possono mandare molto meno e-mail al secondo, tipo 2 o 3...
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  23. #23
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    se ne possono mandare massimo 3 al secondo.
    @abweb --> il thread è un pò datato...


    -- Aut Roma Aut Nihil!

  24. #24
    Guest

    Predefinito Php nuke 7.8 e newsletter

    Buongiorno. Ho installato phpnuke 7.8 ho provato ad usare la newsletter per inviare una E-mail collettiva ma niente da fare. La e-mail viene inviata regolarmente ma con gli indirizzi modificati e pertanto lavoro inutile.
    Potreste darmi una mano per correggere questo errore grazie

  25. #25
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    cosa vuol dire con gli indirizzi email modificati?

    hai modificato il codice come qui indicato oppure stai usando quella standard?
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  26. #26
    Guest

    Predefinito Phpnuke 7.8

    Non ho modificato gli indirizzi, e sto usando quello standard fornito di default con phpnuke7.8.
    Questo fatto mi succede da quando ho aggiornato la versione 7.0 a 7.8 io inserisco l'indirizzo web con la news del mio sito ma viene automaticamente nodificato invece di <a href://www.miosito.com/modules.php?name=News&file=article&sid=596 diventa modules.php?name=News&file=article&sid=596 e al posto del http mette un numero e quindi un indirizzo non raggiungibile..
    Questo è il problema delle newsletter.
    Se vuoi posso mettere a disposizione il codice.
    Grazie per la risposta.

  27. #27
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    ah... ok... quindi è un altro problema...

    purtroppo per phpnuke io sono fermo alle versioni <7... non ho ma guardato il codice di quelle successive....

    vediamo se qualcuno che lo usa sa dirti qualcosa di meglio... casomai daremo un occhiata al codice ;)
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  28. #28
    Guest

    Predefinito

    Citazione Originalmente inviato da abweb
    proviamo 500 mail ogni 2 secondi (non sono 3 ma 2)...
    Codice PHP:
    //evcz & abweb mod
    $intestazione = "From: $adminmail\n";
    $intestazione .= "Bcc: $adminmail";
    $i = 0;
    while(list(
    $user_email) = sql_fetch_row($result, $dbi)) {
    $intestazione .= ", $user_email";
    $i++;
    if(
    $i > 500){
    $intestazione .= "\n";
    mail($adminmail, $subject, $content, $intestazione);
    sleep(2); //sostituisci con sleep(3); se non funziona...
    $intestazione = "From: $adminmail\n";
    $intestazione .= "Bcc: $adminmail";
    $i = 0;
    }
    }
    $intestazione .= "\n";
    mail($adminmail, $subject, $content, $intestazione);
    //fine abweb & evcz mod
    prova ciao
    grazie...

    abbiamo provato a risolvere suddividentdo gli utenti in pacchetti da 300 e forse forse ce l'abbiamo fatta.

    qualora avessimo ancora problemi, proveremo la tua soluzione

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •