Completa Db e Invia E-mail

  • Creatore Discussione Creatore Discussione jerry
  • Data di inizio Data di inizio

jerry

Utente Attivo
2 Mag 2006
47
0
0
Cari amici ecco un'altro dei miei problemi.

Vorrei sapere se è possibile inviare un e-mail dopo aver aver creato un nuovo record in un database.

JAVASCRIPT
 
jerry ha scritto:
...Vorrei sapere se è possibile inviare un e-mail dopo aver aver creato un nuovo record in un database.
JAVASCRIPT
Ciao Jerry! ;)

Allora, ti dico già che io per fare ciò che chiedi utilizzo dempre VBScript, ma ovviamente si può fare anche in JScript, cambia solo la sintassi del codice:

<%@LANGUAGE = JScript%>

<%

var cdoMessage = new ActiveXObject("CDO.Message");

cdoMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "nome_tuo_server_di_posta";
cdoMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25;
cdoMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2;
cdoMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10;

cdoMessage.Configuration.Fields.Update();

cdoMessage.From = "email_MITTENTE";
cdoMessage.To = "email_DESTINATARIO";
cdoMessage.Subject = "Oggetto_email";
cdoMessage.HtmlBody = "messaggio_email";
cdoMessage.AddAttachment(Server.MapPath("nome_file_allegato.estensione"));
cdoMessage.Send();

%>


SaLuT!
:byebye:
 
Pole...

Anche io di solito uso vb script...
ma avendo un codice in jscript che mi permette di completare i dati in un database,
quando gli aggiungo il vbscript sotto, mi da errore.
il codice e lo stesso dell'altro argomento trattato per i controlli.
grazie jerry.

comunque proverò.

Avresti per caso uncodice che mi permette di completare dei record attraverso un form, in vbscript?

:book:
 
Codice completo

Fino alla fine del javascript funziona ma quando gli aggiungo alla fine il vbscript mi da errore.
Per questo stavo cercando l'invio di un e-mail in jscript.


Stavo cercando qualcosa di simile in un altro linguaggio.
grazie jerry

<%@ LANGUAGE = JScript %>
<%
var nome = Request.Form("nome");
var cognome = Request.Form("cognome");
var e_mail = Request.Form("e_mail");
if (nome=="" || cognome=="" || e_mail==""){
%>
<script>
location.href("oops.htm");
</script>
<%
}
else{
var ADOConn = new ActiveXObject("ADODB.Connection");
var strConn = "";
strConn += "driver={Microsoft Access Driver (*.mdb)};";
strConn += "dbq=" + Server.MapPath("prova.mdb");
ADOConn.Open(strConn);
var RecSet = new ActiveXObject("ADODB.Recordset");
RecSet.Open("nominativi",ADOConn,3,3);
RecSet.AddNew();
RecSet("nome") = nome;
RecSet("cognome") = cognome;
RecSet("e_mail") = e_mail;
RecSet.Update();
RecSet.Close();
ADOConn.Close();
}
%>
 
jerry ha scritto:
Fino alla fine del javascript funziona ma quando gli aggiungo alla fine il vbscript mi da errore.
Per questo stavo cercando l'invio di un e-mail in jscript.
:confused: Ehm.. jerry.. avevo capito che ti serviva JScript, infatti il codice che ti ho dato è per quel linguaggio, non per VBScript ;)

Devi semplicemente aggiungerlo subito sotto il tuo codice e vedrai che funge:)
 
Aiuto...

Ho provato, ma non mi funziona.
questo è tutto il mio codice:


<%@ LANGUAGE = JScript %>
<%
// Ricevo i dati dal form
var nome = Request.Form("nome");
var cognome = Request.Form("cognome");
var e_mail = Request.Form("e_mail");
// controllo campi
if (nome=="" || cognome=="" || e_mail==""){
%>
<script>
location.href("oops.htm");
</script>
<%
}
else{

// Istanzio l'oggetto Connection
var ADOConn = new ActiveXObject("ADODB.Connection");

// Creo la STRINGA DI CONNESSIONE
var strConn = "";
strConn += "driver={Microsoft Access Driver (*.mdb)};";
strConn += "dbq=" + Server.MapPath("prova.mdb");

// Apro la connessione al database selezionato
ADOConn.Open(strConn);

// Istanzio Recordset
var RecSet = new ActiveXObject("ADODB.Recordset");

// Collego Recordset alla connessione aperta
RecSet.Open("nominativi",ADOConn,3,3);

// Formulo il nuovo record
RecSet.AddNew();
RecSet("nome") = nome;
RecSet("cognome") = cognome;
RecSet("e_mail") = e_mail;

// Aggiorno la tabella
RecSet.Update();

// Chiudo Recordset
RecSet.Close();

// Chiudo la connessione
ADOConn.Close();
//chiudo jscript di controllo campi
}
%>
<%@ LANGUAGE = JScript %>
<%
var cdoMessage = new ActiveXObject("CDO.Message");
cdoMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mioprovider.com";
cdoMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25;
cdoMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2;
cdoMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10;

cdoMessage.Configuration.Fields.Update();

cdoMessage.From = "sitoweb@mioprovider.com";
cdoMessage.To = "info@mioprovider.com";
cdoMessage.Subject = "Invio dati";
cdoMessage.HtmlBody = "messaggio_email";
cdoMessage.AddAttachment(Server.MapPath("nome_file _allegato.estensione"));
cdoMessage.Send();

%>
<html>
<head>
<title>Grazie per averci contattato</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.grazie {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
font-weight: bold;
}
.ok {
font-family: "Times New Roman", Times, serif;
font-size: 20px;
color: #990000;
text-decoration: none;
}
body,td,th {
color: #000000;
}
body {
background-color: #FFFFFF;
color: #FFFFFF;
}
.Stile1 {font-family: Verdana, Arial, Helvetica, sans-serif}
-->
</style>
</head>

<body leftmargin="0" topmargin="0">
<table width="500" height="100" border="0" align="center" cellpadding="0" cellspacing="0" class="ok">
<tr>
<th class="ok Stile1" scope="col">OK !!</th>
</tr>
</table>
<table width="500" border="0" align="center" cellpadding="3" cellspacing="3">
<tr>
<th scope="col"><b class="grazie">grazie contattato. <br>
</tr>
</table>
</body>
</html>
 
Che non ti funzioni è normale almeno per un motivo ;)

Quando inserisci il codice per l'e-mail, non devi inserire <%@ LANGUAGE = JScript %>, perchè il comando c'è già alla prima riga della pagina ASP.

Inoltre cerca la riga
cdoMessage.AddAttachment(Server.MapPath("nome_file _allegato.estensione"));
ed eliminala, serve solo per gli allegati.

Fammi sapere, ciao!
:byebye:
 
FOR Pole

Lo script funziona, ma quando gli inserisco l'html da inviarmi al mio indirizzo di posta si blocca.
Mi sapresti speigare come mai?
Sarà dovuto da (&_) che se non ricordo viene usato in ASP..
aspetto tue notizie jerry

cdoMessage.HtmlBody = "<HTML><HEAD><title>E-Mail dal sito</title><style type='text/css'><!-- body,td,th {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 12px;} --></style></HEAD><BODY>" &_
"<img src=logowh.jpg><br><br>" &_
"<table width='90%' border='0' cellspacing='3' cellpadding='3'><tr><td><br><br><b><font color=red>Dati Inviati:</b></font><br><br></td></tr><tr><td><b>Nome</b></td><td>" &_
nome &_
"</td></tr><tr><td width='300'><b>Settore</b></td><td>" &_
cognome &_
"</td></tr><tr><td width='300'><b>E-Mail</b></td><td><a href=mailto:" &_
e_mail &_
">" &_
e_mail &_
"</A>" &_
"</td></tr><tr><td><font color=black>L'utente ha accettato le norme sulla privacy relative al trattamento dei dati.</font><br></td><td>" &_
"</td></tr></table></BODY></HTML>";
:book:
 
jerry ha scritto:
Lo script funziona, ma quando gli inserisco l'html da inviarmi al mio indirizzo di posta si blocca.
Mi sapresti speigare come mai?
La sintassi è giusta jerry, compresa la &_. :)

Prova a togliere il codice HTML e ad inviare testo normale nel body della mail per vedere se è proprio l'HTML che da problemi, altrimenti dovresti dirmi con più precisione che errore ti da ;)

SaLuT!
:byebye:
 
descrizioni

Se provo solo ad inserire testo oppure, invio questa stringa:
<img src=http://www.mioprovider.com/img/logowh.jpg><br><br>
arriva correttemente.
Ma quando provo ad aggiungere l'html
o tabelle mi da errore.:incazz2:

anzi mi da errore anche senza <html> <head>

pensavo che lui costruiva già un html nel momento dell'invio, allora li ho segati provando. ma mi dava errore.
 
jerry ha scritto:
Se provo solo ad inserire testo oppure, invio questa stringa:
<img src=http://www.mioprovider.com/img/logowh.jpg><br><br>
arriva correttemente.
Ma quando provo ad aggiungere l'html
o tabelle mi da errore.:incazz2:
Ho capito jerry, ma devi dirmi quale errore :)

Comunque mi dimentico sempre che usi Jscript, quindi la &_ non va bene, prova a toglierla l'errore probabilmente viene da quello! ;)

Ora scusa ma devo scappare, casomai ci si sente domani!

SaLuT!
:byebye:
 
errore

Se provo a scrivere così:

cdoMessage.HtmlBody = "<HTML><HEAD><title>E-Mail dal sito</title><style type='text/css'><!-- body,td,th {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 12px;} --></style></HEAD><BODY>"
"<img src=http:logowh.jpg><br><br>"&nbsp;
"<table width='90%' border='0' cellspacing='3' cellpadding='3'><tr><td><br><br><b><font color=red>Dati Inviati:</b></font><br><br></td></tr><tr><td><b>Nome</b></td><td>"</BODY></HTML>;
cdoMessage.Send();

Visualizzo questo errore:
Microsoft JScript compilation error '800a03ec'
Expected ';'


Grazie e scusa ancora:book:
 
Adesso il messaggio me lo invia vuoto ma con un allegato che non riesco nemmeno a visualizzarlo.:incazz: jerry inc....to

cdoMessage.HtmlBody = "<BODY>"
"<img src=logowh.jpg><br><br>"
"<table width='90%' border='0' cellspacing='3' cellpadding='3'><tr><td><br><br><b><font color=red>Dati Inviati:</b></font><br><br></td></tr><tr><td><b>Nome</b></td><td>"
nome
"</td></tr><tr><td width='300'><b>Settore</b></td><td>"
cognome
"</td></tr><tr><td width='300'><b>E-Mail</b></td><td><a href=mailto:"
e_mail
">"
e_mail
"</A>"
"</td></tr><tr><td><font color=black>L'utente ha accettato le norme sulla privacy relative al trattamento dei dati.</font><br></td><td>"
"</td></tr></table></BODY>";
cdoMessage.Send();
 
jerry ha scritto:
Adesso il messaggio me lo invia vuoto ma con un allegato che non riesco nemmeno a visualizzarlo.:incazz: jerry inc....to
Non capisco jerry perchè spezzetti la stringa del corpo della mail, non può funzionare così ;)

Componi la stringa così:
cdoMessage.HtmlBody = "<BODY><img src=logowh.jpg><br><br><table width='90%' border='0' cellspacing='3' cellpadding='3'><tr><td><br><br><b><font color=red>Dati Inviati:</b></font><br><br></td></tr><tr><td><b>Nome</b></td><td>nome</td></tr><tr><td width='300'><b>Settore</b></td><td>cognome</td></tr><tr><td width='300'><b>E-Mail</b></td><td><a href='mailto:e_mail'>e_mail</A></td></tr><tr><td><font color=black>L'utente ha accettato le norme sulla privacy relative al trattamento dei dati.</font><br></td><td></td></tr></table></BODY>";

ovvero tutto su un unico blocco SENZA a capo!
E mi raccomando, non usare apici doppi, tranne quelli che ci sono all'inizio ed alla fine

Fammi sapere :)
 
Buongiorno Pole

Ciao Pole ho già provato a costruire la stringa come dici tu:
CODICE:
<BODY><img src=logowh.jpg><br><br><table width='90%' border='0' cellspacing='3' cellpadding='3'><tr><td><br><br><b><font color=red>Dati Inviati:</b></font><br><br></td></tr><tr><td><b>Nome</b></td><td>"nome"
C'è solo un problema.
Quando mi arriva l'e-mail non mi mostra il contenuto cioè mi scrive Nome= nome.


CODICE:
<BODY><img src=logowh.jpg><br><br><table width='90%' border='0' cellspacing='3' cellpadding='3'><tr><td><br><br><b><font color=red>Dati Inviati:</b></font><br><br></td></tr><tr><td><b>Nome</b></td><td>"nome"
ERRORE:
Ho provato ad racchiudere tra virgolette es. Nome = "nome"
come la variabile ma mi da il seguente errore: Microsoft JScript compilation error '800a03ec'
:dipser:
 
No jerry, non hai sostituito la stringa come ti ho detto io :)

Non devi mettere gli apici doppi all'interno del corpo dell'e-mail, perchè altrimenti va in bomba il programma!
...<b>Nome</b></td><td>"nome"...</td></tr>

Se vuoi aggiungere una variabile allora devi fare
...<b>Nome</b></td><td>" + nome + "</td></tr>...

Gli apici doppi servono a delimitare il contenuto della stringa.
Ti faccio un esempio per farti capire:
abbiamo una variabile a che contiene un nome, per esempio Jerry.
Ora, se vogliamo che nel corpo della mail venga scritto: Ciao Jerry, benvenuto!
dovremo fare

a = "Jerry"

cdoMessage.HtmlBody = "Ciao " + a + ", benvenuto!"

Capito ora come funziona la logica delle stringhe? :)

:byebye:
 
Grazie Pole

Grazie pole adesso si che è chiaro.
Da come hai potuto capire io non ci capisco ancora tanto.
Mi sei stato di grande aiuto, e non so come sdebitarmi.
spero di rincontrarti nei prossi argomenti.
Con affetto jerry.infopwk@mybox.it
 
jerry ha scritto:
Grazie pole adesso si che è chiaro.
Da come hai potuto capire io non ci capisco ancora tanto.
Mi sei stato di grande aiuto, e non so come sdebitarmi.
spero di rincontrarti nei prossi argomenti.
Con affetto jerry.infopwk@mybox.it
Sono felice che tu abbia capito, e questo mi basta e avanza! ;)
Quando avrai ancora bisogno non avrai che da venire qui da noi!

Alla prossima!
:byebye:
 

Discussioni simili

M
Risposte
0
Visite
1K
HTML e CSS
Membro cancellato 26246
M