Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253

    asp.net form email con system.net.mail

    Ciao a tutti!
    Un buon inizio settimana a tutti voi!
    Vi chiedo un aiuto, è tutto il fine settimana che sono sopra a questo problema...

    Ho seguito una guida per creare un form di invio email con il nuovo sistema System.Net.Mail;
    ecco il codice che ho scritto nella pagina contatti.aspx.cs

    codice:
    protected void btnSendmail_Click(object sender, EventArgs e)
        {
            // System.Web.Mail.SmtpMail.SmtpServer is obsolete in 2.0
            // System.Net.Mail.SmtpClient is the alternate class for this in 2.0
            SmtpClient smtpClient = new SmtpClient();
            MailMessage message = new MailMessage();
    
            try
            {
                
                
                
                MailAddress fromAddress = new MailAddress(email.Text);
    
                // You can specify the host name or ipaddress of your server
                // Default in IIS will be localhost 
                smtpClient.Host = "localhost";
    
                //Default port will be 25
                smtpClient.Port = 25;
    
                //From address will be given as a MailAddress Object
                message.From = fromAddress;
    
                // To address collection of MailAddress
                message.To.Add("email@email.it");
                message.Subject = "Feedback";
    
               
                //Body can be Html or text format
                //Specify true if it  is html message
                message.IsBodyHtml = false;
    
                // Message body content
                message.Body = txtMessage.Value;
    
                // Send SMTP mail
                smtpClient.Send(message);
    
                lblStatus.Text = "Email successfully sent.";
            }
            catch (Exception ex)
            {
                lblStatus.Text = "Send Email Failed." + ex.Message;
            }
        }
    
    }
    il problema ragazzi nasce nel parametro
    smtpClient.Host = " ?? ";
    e credo anche nel valore della porta: smtpClient.Port = 25;

    quando cerco di inviare la mail nel server locale su win 7 nulla da fare , ma se almeno provo a uplodare la pagina sul server che ha come maintainer aruba, che parametri devo inserire per far si che funzioni? smtp.aruba.it non credo funzioni...
    Se lascio il campo vuoto non sa a quale parametro smtp far riferimento...
    vi ringrazio molto per l'aiuto!

  2. #2
    Allora, il server SMPT è relativo all'indirizzo di posta elettronica con cui devi inviare messaggi, in pratica sono i dati del mittente. Se per esempio hai un indirizzo nome.cognome@gmail.com come indirizzo mittente, la configurazione per smtp prevede che venga inserito l'host di smtp.gmail.com

    http://www.e-eeasy.com/SMTPServerList.aspx

    trovi una lista di tutti i server SMTP per diversi provider di posta elettronica
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    Ciao Roby!
    Grazie mille!
    Dunque il mittente per quanto mi riguarda è aruba?
    Nel senso che, ho un campo email dove scrivo l'e-mail del mittente e il destinatario è un indirizzo email fisso che appartiene ad aruba, dunque scusami se il mittente è variabile che parametro devo inserire?
    Grazie mille!

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Di solito il mittente è fisso comunque, tipo <noreply@tuosito.com>
    Io la cosa la immagino al contrario :master:

    Questo è un esempio da un sito dedicato all'argomento:
    http://www.systemnetmail.com/faq/3.1.2.aspx

  5. #5
    Guarda se vuoi fare quello che hai detto, cioè che il campo mittente viene inserite durante la fase di invio, il discorso diventa molto più complesso. Dovresti prevedere un sistema di pre-configurazione della mail per poter inviare i dati!

    Esempio: puoi creare un db che si occupa di gestire questa cosa e analizzando l'indirizzo email fornire server SMPT necessari per poterla inviare!

    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    ciao ragazzi,
    però è strano, con il vecchio sistema, semplicemente come parametro from
    richiamavo il campo txtemail che è la mail inserita dall'utente mentre come parametro to il destinatario ad esempio l'amministratore del sito che riceve la mail,
    un semplice sistema di form che si vede in tutti i siti...

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    forse puoi sfruttare un servizio di SMTP 'aperto', (non so quale) per fare cio' che dici.

    ma tu vuoi fare un form per permettere agli utenti di inviare messaggi all'amministratore del sito ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    ciao!
    forse ho capito cosa intendete dire...
    al parametro from metto un indirizzo fisso in modo tale da poter utilizzare il parametro smpt di quel provider?

  9. #9
    Se ho ben capito tu vuoi fare una cosa del genere:
    Far inviare dal tuo sito una email con mittente uguale all'indirizzo digitato in una text box e destinatario un tuo indirizzo creato su un server aruba.

    Allora normalmente i server SMTP Aruba hanno l'indirizzo impostato come smtp.nomedominio.estensionedominio e necessitano dell'autenticazione, quindi dovresti usare una qualcosa tipo:

    codice:
    MailMessage mail = new MailMessage();
    mail.From = new MailAddress("indirizzo del mittente");
    mail.To.Add(new MailAddress("indirizzo del destinatario"));
    mail.Subject = "Oggetto della mail";
    mail.Body = "Corpo della mail";
    
    mail.IsBodyHtml = false;
    
    SmtpClient smtp = new SmtpClient();
    smtp.UseDefaultCredentials = false;
    smtp.Host = "Indirizzo del server SMTP Aruba";
    smtp.Credentials = new System.Net.NetworkCredential("tuo indirizzo email aruba", "password tuo indirizzo email aruba");
    try {
        smtp.Send(mail);
    }
    catch {
    }
    In pratica devi usare il tuo indirizzo email e la tua password per accedere all'SMTP Aruba.
    In questo modo la password viene inserita in chiaro nel codice. La cosa migliore sarebbe criptarla in modo che non sia utilizzabile se qualcuno riesce ad accedere al codice.
    Matteo
    ---------------------------
    www.matteopenna.it

  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da elisamito
    ciao!
    forse ho capito cosa intendete dire...
    al parametro from metto un indirizzo fisso in modo tale da poter utilizzare il parametro smpt di quel provider?
    esatto, a meno che non intendi collezionare indirizzi email

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 © 2026 vBulletin Solutions, Inc. All rights reserved.