allora l'errore che mi da è
solo che me lo da prima ancora di entrare nella pagina dove è presente il modulo...codice:objMM.From = txtEmail.Text
allora l'errore che mi da è
solo che me lo da prima ancora di entrare nella pagina dove è presente il modulo...codice:objMM.From = txtEmail.Text
Sicuro che l'errore non sia un warning ? (Sottolineato in verde)
comunque, per logica :master:, non dovrebbe essere :
?codice:objMM.To = txtEmail.Text objMM.From = txtName.Text
il campo TO deve essere la mail di destinazione.
il campo FROM deve essere il nome del mittente.
Le classi dell'esempio funzionano anche con l'ambiente 08.
Due link per approfondire i due namespaces:
http://www.systemwebmail.com
http://www.systemnetmail.com
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
Allora vi spiego la situazione attuale:
ho una pagina principale index.aspx con il seguente doctype
che include il modulo dei contatti (contatti.aspx) con il seguente codice:codice:<%@ Page Language="VB" AutoEventWireup="false" CodeFile="index.aspx.vb" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
in fase di progettazione clicco sul pulsante "send feedback!"codice:<form id="Form1" runat="server"> <asp:Panel ID="panelSendEmail" runat="server" Visible="true"> <h2> Contatti</h2> Nome: <asp:TextBox ID="txtName" runat="server" /> Indirizzo Email: <asp:TextBox ID="txtEmail" runat="server" /> Messaggio: <asp:TextBox ID="txtMessage" TextMode="MultiLine" Columns="40" Rows="10" runat="server" /> <asp:Button runat="server" ID="btnSendFeedback" Text="Send Feedback!" onClick="btnSendFeedback_Click" /> </asp:Panel> <asp:Panel ID="panelMailSent" runat="server" Visible="False"> Posta inviata </asp:Panel> </form>
e scrivo questo:
l'errore in questa situazione è:codice:<script runat="server"> Protected Sub btnSendFeedback_Click(ByVal sender As Object, ByVal e As System.EventArgs) 'Create an instance of the MailMessage class Dim objMM As New Web.Mail.MailMessage() 'Set the properties - send the email to the person who filled out the 'feedback form. objMM.To = "info@miosito.it" objMM.From = txtEmail.Text 'Send the email in text format objMM.BodyFormat = Web.Mail.MailFormat.Text '(to send HTML format, change MailFormat.Text to MailFormat.Html) 'Set the priority - options are High, Low, and Normal objMM.Priority = Web.Mail.MailPriority.Normal 'Set the subject objMM.Subject = "4GuysFromRolla.com - Feedback" 'Set the body objMM.Body = "At " + DateTime.Now.ToShortDateString + " feedback was sent from an ASP.NET " & _ "Web page. Below you will find the feedback message " & _ "send by " & txtName.Text & "." & vbCrLf & vbCrLf & _ "---------------------------------------" & vbCrLf & vbCrLf & _ txtMessage.Text & vbCrLf 'Specify to use the default Smtp Server Web.Mail.SmtpMail.SmtpServer = "" 'Now, to send the message, use the Send method of the SmtpMail class Web.Mail.SmtpMail.Send(objMM) panelSendEmail.Visible = True panelMailSent.Visible = True End Sub </script>
tolto quell'errore che mi da in fase di compilazione, il resto degli errori sono sottolineati di verde (quindi presumo siano warnings)codice:Errore di compilazione Descrizione: Errore durante la compilazione di una risorsa necessaria per soddisfare la richiesta. Rivedere i dettagli relativi all'errore e modificare in modo appropriato il codice sorgente. Messaggio di errore del compilatore: BC30451: Nome 'txtEmail' non dichiarato. Errore nel codice sorgente: Riga 18: 'feedback form. Riga 19: objMM.To = "info@miosito.it" Riga 20: objMM.From = txtEmail.Text Riga 21: Riga 22:
Che intendi per index.aspx che INCLUDE contatti.aspx ?
E' per questo che il campo txtMail non viene visto, probabilmente.
Prova con UNA sola pagina, che ad esempio chiameremo provamail.aspx, di cui:
parte ASPX:
Parte VB (la sub che gestisce il click del bottone, in provamail.aspx.vb)codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="Form1" runat="server"> <asp:Panel ID="panelSendEmail" runat="server"> <h2>Contatti</h2> Nome: <asp:TextBox ID="txtName" runat="server" /> Indirizzo Email: <asp:TextBox ID="txtEmail" runat="server" /> Messaggio: <asp:TextBox ID="txtMessage" TextMode="MultiLine" Columns="40" Rows="10" runat="server" /> <asp:Button runat="server" ID="btnSendFeedback" Text="Send Feedback!" onClick="btnSendFeedback_Click" /> </asp:Panel> <asp:Panel ID="panelMailSent" runat="server" Visible="False"> Feedback inviato ! </asp:Panel> </form> </body> </html>
codice:Sub btnSendFeedback_Click(ByVal sender As Object, ByVal e As EventArgs) Dim mail As New MailMessage() mail.To = txtEmail.Text mail.From = txtName.Text mail.Subject = "Prova invio mail" mail.BodyFormat = MailFormat.Html mail.Priority = MailPriority.Normal mail.Body = "Alle " & DateTime.Now.ToShortDateString & _ " è stato inviato un feedback dal sito. " & vbCrLf & _ " Autore " & txtName.Text & vbCrLf & _ " Messaggio: " & vbCrLf & _ "---------------------------------------" & vbCrLf & _ txtMessage.Text & vbCrLf SmtpMail.SmtpServer = "" SmtpMail.Send(mail) panelSendEmail.Visible = False panelMailSent.Visible = True End Sub
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
la pagina contatti.aspx la inserisco così:
codice:Response.WriteFile("contatti.aspx")
Originariamente inviato da Colino
la pagina contatti.aspx la inserisco così:
codice:Response.WriteFile("contatti.aspx")![]()
prova come ti ho detto nel mio post precedente.
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
non va inserita così??
io sinceramente avrei bisogno di avere la pagina contatti.aspx come pagine inclusa nell'index e non come pagina a se stante...
prova prima l'invio mail con UNA sola pagina, poi si vede l'inclusione...
un problema alla volta.
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
ho fatto come mi hai suggerito ma il problema persiste
tra l'altro se in fase di progettazione clicco 2 volte sul pulsante per l'invio del modulo (presente nella pagina contatti.aspx) mi apre la pagina index.aspx.vbcodice:Errore di compilazione Descrizione: Errore durante la compilazione di una risorsa necessaria per soddisfare la richiesta. Rivedere i dettagli relativi all'errore e modificare in modo appropriato il codice sorgente. Messaggio di errore del compilatore: BC30456: 'btnSendFeedback_Click' non è un membro di 'ASP.contatti_aspx'. Errore nel codice sorgente: Riga 112: Riga 113: Riga 114: <asp:Button runat="server" ID="btnSendFeedback" Text="Send Feedback!" onClick="btnSendFeedback_Click" /> Riga 115: </asp:Panel> Riga 116:
Originariamente inviato da Colino
la pagina contatti.aspx la inserisco così:
codice:Response.WriteFile("contatti.aspx")Questa sintassi è inventata. Di che ti stupisci se non funziona?
![]()
Pietro