4 messaggi dal 03 agosto 2016
ciao a tutti, dopo anni si onorato servizio questo script sembra non funzionare più, mi restituisce un errore "sendusing", E' probabile che su Aruba abbiano aggiornato qualcosa e adesso non funziona, mi potete aiutare? grazie

il codice che utilizzavo è questo:

<%@LANGUAGE = JScript%>
<%
// Recupero i dati dal modulo
var username = new String(Request.Form("username"));
var password = new String(Request.Form("password"));
var email = new String(Request.Form("email"));
var oggetto = new String(Request.Form("oggetto"));
var messaggio = new String(Request.Form("messaggio"));


// Verifico username e password
if ((username != "user") || (password != "stef")) {
Response.Write("Autorizzazione negata");
Response.End;
}

// Creo la classe CDO per inviare email
var INVIA = new ActiveXObject("CDO.Message");

// Riempio i campi dellemail
INVIA.To = "";
INVIA.Bcc = email;
INVIA.From = "info@cascinadiodona.it"; // Inserisci il tuo indirizzo email
INVIA.Subject = oggetto;
INVIA.HTMLBody = messaggio;


INVIA.Send();

Response.Write("Newsletter inviata con successo.");
%>


questo è l'errore:

CDO.Message.1 error '80040220'

The "SendUsing" configuration value is invalid.

/newsletter/invia.asp, line 28
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,

E' probabile che su Aruba abbiano aggiornato qualcosa e adesso non funziona

Hai provato a chiedere alla loro assistenza? E' probabile che ti sappiano dire esattamente come intervenire.

Io non ho un hosting su Aruba per fare delle prove, quindi posso aiutarti limitatamente e basandomi solo sul testo dell'errore.

The "SendUsing" configuration value is invalid.

SendUsing è uno dei valori di configurazione per l'invio del messaggio. Prova ad impostarlo esplicitamente come vedi nel codice che trovi qui:
http://forum.aspitalia.com/forum/post/410287/Mail-Form-Aruba.aspx

ciao,
Moreno

Enjoy learning and just keep making
4 messaggi dal 03 agosto 2016
ciao, fortunatamente mi hanno risposto quelli di aruba e mi hanno dato un codice funzionante che è il seguente:

<!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows 2000 Type Library" -->
<!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" -->

<%
mittente="postmaster@nomedominio.estensione"
destinatario="postmaster@nomedominio.estensione"
oggetto="prova"
testo="prova"

Set eMail = CreateObject("CDO.Message")

Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields

Flds(cdoSendUsingMethod) = cdoSendUsingPort
Flds(cdoSMTPServer) = "smtp.nomedominio.estensione"
Flds(cdoSMTPServerPort) = 25
Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
Flds.Update

eMail.Configuration = iConf

'Definiamo i diversi attributi della nostra mail
eMail.From = mittente
eMail.To = destinatario
eMail.Subject = oggetto

'Se il testo in Html useremo HTMLBody al posto di TextBody
'eMail.TextBody = messaggio
eMail.HTMLBody = testo

'Inviamo la mail!
eMail.Send()

'Eliminiamo l'oggetto...
Set eMail = Nothing

%>
4 messaggi dal 03 agosto 2016
il problema che quando lo adatto alle mie necessità questo codice dovrebbe spedire circa 1000 mail prese da un database access mi va in timeout.

Se nel database inserisco solo 5 o 6 indirizzi funziona regolarmente
Se rimetto il database originale con 1000 indirizzi mi va in timeout con questo errore.

Active Server Pages error 'ASP 0113'

Script timed out

/newsletter/invia.asp

The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.

qualche idea?
grazie


questo è il mio codice

<%
username = Request.Form("username")
password = Request.Form("password")
email = Request.Form("email")
oggetto = Request.Form("oggetto")
messaggio = Request.Form("messaggio")

If username <> "admin" Or password <> "pass" Then
Response.Write("Autorizzazione negata")
Response.End
End If


Set INVIA = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields

Flds(cdoSendUsingMethod) = cdoSendUsingPort
Flds(cdoSMTPServer) = "smtp.aruba.it"
Flds(cdoSMTPServerPort) = 25
Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
Flds.Update

INVIA.Configuration = iConf

'Definiamo i diversi attributi della nostra mail
INVIA.From = "info@miodominio.it"
INVIA.To = ""
INVIA.Bcc = email
INVIA.Subject = oggetto
INVIA.HTMLBody = messaggio

'Inviamo la mail!
INVIA.Send()

'Eliminiamo l'oggetto...
Set INVIA = Nothing
Response.Write("Newsletter inviata con successo.")
%>
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
grazie per aver condiviso la soluzione; bisognerebbe mettere il post fisso in alto se il forum avesse questa funzionalità.

Tornando al problema: è normale che per operazioni di lunga di durata la pagina vada in errore. Infatti esiste un tempo di timeout, entro il quale la pagina deve completare la sua esecuzione altrimenti viene interrotta forzatamente dal server.

Puoi provare ad alzare il tempo di timeout così:
http://www.aspitalia.com/script/103/Cambiare-Timeout-Script.aspx

Se non funzionasse (Aruba potrebbe impedire di modificare tale valore), allora devi scaglionare l'invio. Per esempio invii le prime 50 email, poi fai un Response.Redirect verso la pagina Invia.asp stessa, passando un parametro querystring che le dica quante email ha già inviato. Esempio:
Dim inviate
inviate = 50
Response.Redirect("/Newsletter/Invia.asp?inviate=" & inviate)

Ovviamente il parametro "inviate" dovrà aumentare di 50 di volta in volta, ad ogni esecuzione di pagina. Usa il valore nella tua query SQL in modo da saltare gli indirizzi email già spediti ed estrarre i successivi.

Dato che il Redirect costringerà il browser ad effettuare una nuova richiesta, ecco che il timeout si resetterà e la tua pagina riuscirà a spedire le 50 email entro il tempo limite.

Comunque, 1000 destinatari cominciano ad essere un bel numero, perché non ti affidi a MailChimp per la spedizione? E' gratis finché resti entro i 2000 e ti risparmi un sacco di grane.
http://mailchimp.com/

ciao,
Moreno
Modificato da BrightSoul il 05 agosto 2016 08.28 -

Enjoy learning and just keep making
4 messaggi dal 03 agosto 2016
ciao, ti ringrazio per la risposta,
purtroppo anche aruba mi ha confermato che non posso mandare piu cosi tante mail e anche se le scagliono in 50 il loro server ne accetta 200/300 per giorno.
Anche se non capisco come fino all'altro ieri non avevo nessun tipo di problema e le inviavo tutte insieme in pochi secondi.

Per quanto riguarda il servizio di newsletter da te indicato ho cominciato a guardarne qualcuno, ma che tu sappia si puo inserire un codice nella pagina del sito per fare in modo che chi inserisce la mail li in automatico va nella lista del servizio newsletter? altrimenti ogni volta dovrei inserire manualmente le mail.
grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


Anche se non capisco come fino all'altro ieri non avevo nessun tipo di problema e le inviavo tutte insieme in pochi secondi.

Forse hanno modificato le quote di invio nel loro server di posta. Ti è arrivata qualche comunicazione in merito? Potrebbero averlo fatto come contromisura all'invio di spam o di abusi in genere.


si puo inserire un codice nella pagina del sito per fare in modo che chi inserisce la mail li in automatico va nella lista del servizio newsletter

Certamente, la puoi salvare nel database.
Inoltre, nel momento in cui un utente si iscrive alla newsletter dal tuo sito, dovrai inviare il suo indirizzo e-mail a MailChimp (se sceglierai di usarlo) facendo una richiesta web alla loro API. E' documentato qui:
http://developer.mailchimp.com/documentation/mailchimp/guides/manage-subscribers-with-the-mailchimp-api/
Nel momento in cui devi spedire la newsletter, ti crei una campagna ed invii il messaggio alla lista. Qui c'è tutto l'elenco delle operazioni disponibili nella loro API.
http://developer.mailchimp.com/documentation/mailchimp/reference/overview/
Bisogna mettersi lì, prendersi tempo per leggere e poi provare.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.