Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    modulo invio email via php

    Salve

    Ho bisogno di una modifica o di qualcosa da adattare a questa pagina che permette di inviare 1 email a tutti gli iscritti del sito mentre a me interessa inviare ad una specificata email.

    A me interessa che la mandi alla casella email che specifico io, ma questa pagina gia pronta non lo pemette.

    Vorrei sapere se è possibile modificarla in modo che invia 1 email alla casella email che spefico io (dunque va aggiunta la casella per inserire email del destinatario).

    modifiche necessarie:
    1) inserire form per specificare email a cui inviare
    2) settare nello script di inviare 1 email solo alla casella email specificata nel form (che attuamente neppure esiste)

    Se potete aiutarmi o in alternativa segnalarmi qualche script che posso adattare a questa pagina.

    Vi ringrazio per l'aiuto

    Codice PHP:

    <?
    $includes
    [title]="Member Mailer";

    $success=0;
    $failed=0;


    function 
    send_the_mail($username$mail) {
        global 
    $Db1$total$total_sent;
        
    $sql=$Db1->query("SELECT * FROM user WHERE username='".addslashes($username)."'");
        
    $userinfo=$Db1->fetch_array($sql);
        
    $success=0;
        
    $mail[message]=addslashes(addslashes($mail[message]));
        echo 
    '<script>if (document.getElementById("status_total")) document.getElementById("status_total").innerHTML="'.$total.'"</script>';
        eval(
    "\$tempmsg = \"$mail[message]\";");
        eval(
    "\$tempsubject = \"$mail[subject]\";");
        
    $tempmsg=stripslashes(stripslashes($tempmsg));
        
        if(
    send_mail($userinfo[email],$userinfo[name],$tempsubject,$tempmsg,$mail[from])) {
            
    $total_sent++;
            echo 
    '<script>if (document.getElementById("status_percent")) document.getElementById("status_percent").innerHTML="'.@round(@($total_sent)/$total*100).'"</script>';
            echo 
    '<script>if (document.getElementById("status_sent")) document.getElementById("status_sent").innerHTML="'.@($total_sent).'"</script>';
            echo 
    '<script>if (document.getElementById("status_bar")) document.getElementById("status_bar").style.width='.@(round(@($total_sent)/$total*100)*3).'</script>';
            
    flush();
        }
        return 
    $success;
    }



    if(
    $action == "create_session") {
        
    $time=time();
        
        
    $subject addslashes(stripslashes(stripslashes($subject)));
        
    $msg addslashes(stripslashes(stripslashes($msg)));
        
        
    $sql=$Db1->query("SELECT COUNT(userid) AS total FROM user ".iif($condition!="","WHERE ".(stripslashes($condition)))."");
        
    $total=$Db1->fetch_array($sql);
        
        
    $Db1->query("INSERT INTO mailer_sessions SET 
            subject='
    $subject',
            `from`='
    $fromaddr',
            message='
    $msg',
            dsub='
    $time',
            `total`='
    $total[total]'
        "
    );
        
        echo 
    "Creating Mailer Session...
    "
    ;
        
    flush();
        
        
    $sql=$Db1->query("SELECT id FROM mailer_sessions WHERE dsub='$time'");
        
    $temp=$Db1->fetch_array($sql);
        
    $id=$temp[id];
        
    $sql=$Db1->query("SELECT username FROM user ".iif($condition!="","WHERE ".(stripslashes($condition)))."");
        echo 
    "Compiling Mailing List (this may take a moment)
    "
    ;
        
    flush();
        for(
    $x=0$temp=$Db1->fetch_array($sql); $x++) {
            
            echo 
    ". ";
            
    flush();
            
            
    $Db1->query("INSERT INTO mailer_lists SET 
                mail_id='
    $id',
                username='"
    .addslashes($temp[username])."'
            "
    );
        }
        
        echo 
    "
    Redirecting To Next Step...

        <script>location.href='admin.php?view=admin&ac=mailer&action=send&id=
    $id&".$url_variables."';</script>";
        
    flush();
        
    $Db1->sql_close();
        exit;
    }



    if(
    $action == "send") {
        if(
    $id == "") {
            
    $Db1->sql_close();
            echo 
    "There was an error! A mailer session ID was not detected.";
            exit;
        }
        else {
            
    $sql=$Db1->query("SELECT * FROM mailer_sessions WHERE id='$id'");
            
    $mail_info=$Db1->fetch_array($sql);
            
            
    $total=$mail_info[total];
            
    $total_sent=$mail_info[sent];
            
            echo 
    "Your message is being sent to $total. Do not close this window or hit any browse button (back, forward, stop, ect)
    This can take SEVERAL minutes depending on the number of emails being sent.


    [b]<span id=\"status_sent\"></span>[/b] / [b]<span id=\"status_total\"></span>[/b] sent!


    <div style=\"background-color: gray; width: 300; height: 15; padding: 0px; margin: 0px;\">
                <div style=\"background-color: darkblue; width: 1; height: 15;\" id=\"status_bar\"></div>
    </div>
    <span id=\"status_percent\"></span>% Complete

    If this page times out, you can simply refresh this URL and it will pick up where it left off.
        "
    ;
            
    flush();
            
            
    $sql=$Db1->query("SELECT * FROM mailer_lists WHERE mail_id='$id' LIMIT 100");
            if(
    $Db1->num_rows() > 0) {
                while(
    $temp=$Db1->fetch_array($sql)) {
                    
    send_the_mail($temp[username], $mail_info);
                    
    $Db1->query("DELETE FROM mailer_lists WHERE mail_id='$id' AND username='".addslashes($temp[username])."'");
                }
                
    $Db1->query("UPDATE mailer_sessions SET sent='$total_sent' WHERE id='$id'");
                echo 
    "Redirecting To Next Step...

                <script>location.href='admin.php?view=admin&ac=mailer&action=send&id=
    $id&".$url_variables."';</script>";
                
    flush();
                
    $Db1->sql_close();
                exit;
            }
            else {
                
    $Db1->query("UPDATE mailer_sessions SET status='1' WHERE id='$id'");
                echo 
    "Completing...

                <script>location.href='admin.php?view=admin&ac=mailer&action=complete&id=
    $id&".$url_variables."';</script>";
                
    flush();
                
    $Db1->sql_close();
                exit;
            }
        }
    }


    if(
    $action == "complete") {
        
    $sql=$Db1->query("SELECT * FROM mailer_sessions WHERE id='$id'");
        
    $mail_info=$Db1->fetch_array($sql);
        
    $includes[content]="<div style=\"color: darkred;\">[b]All Done![/b]
    The mailer has sent 
    $mail_info[sent] emails!</div>
    "
    ;
    }



    $includes[content].="
    <div align=\"center\">
    <form action=\"admin.php?view=admin&ac=mailer&action=create_session&"
    .$url_variables."\" method=\"post\">



                <table cellspacing=\"1\" cellpadding=\"0\" border=0>
                    <tr>
                        <td valign=\"top\">Subject:</td>
                        <td><input type=\"text\" name=\"subject\" size=\"35\"></td>
                    </tr>
                    <tr>
                        <td valign=\"top\">From Address:</td>
                        <td><input type=\"text\" name=\"fromaddr\" value=\"no-reply@
    $settings[domain_name]\" size=\"35\"></td>
                    </tr>
                    <tr>
                        <td valign=\"top\">Condition: </td>
                        <td><input type=\"text\" name=\"condition\" value=\"\" size=\"35\"> "
    .show_help('Only use this option if you know what you are doing? This field allows you to add conditions to the select user query. An example condition is:\\'.'nverified=\\\'0\\\'')."</td>
                    </tr>
                    <tr>
                        <td colspan=2 align=\"left\"><textarea cols=50 rows=13 name=\"msg\"></textarea></td>
                    </tr>
                    <tr>
                        <td colspan=2 align=\"center\"><input type=\"submit\" value=\"Mail Them Now\"></td>
                    </tr>
                </table>

    </form>
    </div>
    <div align=\"left\">
    [b]Variables Help[/b]

    You can have each email be unique to the member it is being sent to. Simpy enter any of the following variables in the subject or message body where you want the corresponding text to be shown.



    <table>
        <tr>
            <td width=180>\$userinfo[username]</td>
            <td>Username</td>
        </tr>
        <tr>
            <td>\$userinfo[email]</td>
            <td>Email</td>
        </tr>
        <tr>
            <td>\$userinfo[name]</td>
            <td>Full Name</td>
        </tr>
        <tr>
            <td>\$userinfo[password]</td>
            <td>Password</td>
        </tr>
        <tr>
            <td>\$userinfo[balance]</td>
            <td>Balance</td>
        </tr>
    </table>
    </div>

    "
    ;

    ?>

  2. #2
    Il codice che hai postato, se non ho letto male, invia email ad indirizzi presenti in una tabella, una sorta di newsletter.

    Se fai una ricerca con le parole invio email php trovi tanti esempi, anche in italiano.

    Uno semplice te lo indico di seguito:

    Codice HTML del from

    codice:
    <form method="post" action="send.php" name="modulo">
    Nome e cognome:
    <input type="text" name="nome" size="30">
    Indirizzo e-mail:
    <input type="text" name="email" size="30">
    
    Testo del messaggio:
    <textarea rows="10" cols="30" name="messaggio">
    </textarea>
    <input type="submit" value="Invia">
    <input type="reset" value="Cancella">
    </form>
    Codice pagina send.php che si occupa dell'invio

    codice:
    <?php
    $indirizzo="tuamail@dominio.it";
    {
    mail($indirizzo,"Messaggio da parte di $nome: $oggetto" ,"$nome - $email ha inviato il seguente messaggio:" ,"$messaggio");
    
    echo ("Il messaggio è stato inviato con successo ");
    
    }
    ?>

  3. #3
    Ciao

    Si lo script originale invia una email a tutti gli iscritti che li estrapola da una tabella.

    Il mio problema è che debbo integrare uno script dentro la pagina postata non posso creare pagine a parte che sarebbero senza tutto il resto che ha lo script.

    Lo script gestisce ed ha delle precise configurazioni che debbo mantenere nel modulo.

    Potrei creare dentro la pagina dello script un iframe col nuovo codice mantenendo il footer, header e side gia pronti.

    Tuttavia ancora non ci sono riuscito ad integrare uno script per inviare le email direttamente nella pagina postata, spero che qualcuno possa aiutarmi.

    Ringrazio per i consigli

  4. #4
    Scusa... aggiungi semplicemente il codice per l'invio singolo alla fine del ciclo per l'invio multiplo...

  5. #5
    Salve

    Cerco uno script per inviare email via web che permetta di specificare email del destinatario, oggetto e testo del messaggio.

    E' fondamentale che sia composto da 1 unica pagina di codice in quanto va integrato in un complesso script di migliaia di pagina e se lo script è composto da piu pagine la seconda pagina di conferma dell'invio della email uscirebbe dall'amministrazione del sito.

    Cosa posso adattare a vostro parere?

    Questo è il codice dell'unica pagina disponibile, non mi interessano script che richiamano altre pagine dato che mi porterebbero fuori amministrazione del sito che ha pure delle url modificate.

    Tutto il lavoro va eseguito in questa unica pagina disponibile

    Spero possiate aiutarmi

    Grazie a presto

    PAGINA CHE POTRA OSPITARE IL CODICE PER INVIARE EMAIL
    Codice PHP:


    <?
    $includes
    [title]="Member Mailer";

    $includes[content].="



    CODICE DELLO SCRIPT PER INVIARE EMAIL


    "
    ;

    ?>

  6. #6
    Ho trovato questo script di 1 unica pagina tuttavia non riesco ad integrarloè è di un altro script diverso ma invia email lavorando semplicemente sulla stessa pagina

    Codice PHP:

    <?php include('header.php'); if (isset($_POST['email'])){ $to $_POST['email']; $subject $_POST['subject']; $message $_POST['message']; $from $_POST['from']; $headers "From: $from"mail($to,$subject,$message,$headers); echo "<p class='success'>Email Successfully Sent ".$email."</p>"; } $email1=$_GET["e"]; ?>

    <form method="post" action="contact_reply_message.php" class="f-wrap-1">

    <? $myDb->connect(); $sql "SELECT * FROM yob_site WHERE id='1'"$result mysql_query($sql); $row mysql_fetch_array($result); $myDb->close(); ?>



                  <fieldset>
                  <h3>Send Messages</h3>
                

                <label>[b]Email:[/b]
                <input name='email' type='text' value="<?php echo $email1;?>" class="f-name"/>

                </label>
                
                
                <label>[b]From:[/b]
                <input name='from' type='text' readonly value="<? echo $row["email"]; ?>" class="f-name"/>

                </label>
                

                <label>[b]Subject:[/b]
                <input name='subject' type='text' class="f-name" value="<? echo $row["sitename"]; ?> - ">

                </label>
                

                <label>[b]Message:[/b]
                <td><textarea name="message" rows="5" maxlength="50000" onkeyup="return ismaxlength(this)" tabindex="1"></textarea></td>

                </label>


                <div class="f-submit-wrap">
                <input type="submit" value="Submit - Conferma" class="f-submit" tabindex="2" />

                </div>
                </fieldset>
                
                </form>



    <? include('break.php');?>

    <? include('footer.php');?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.