Mailing list
marco440 non è online. Ultima attività: 02/12/2008 10.27.34marco440
Inserito il: 15 ottobre 2008 12.46
85 messaggi dal 08 nov 2001 Istalla Microsoft Silverlight!
Ciao a tutti
so che l'oggetto è stato trattato più volte ma pur cercando nel forum non ho trovato risposta ai miei quesiti.
devo creare un form di invio per una mailing list di circa 3000 utenti e volevo soltanto qualche suggerimento in merito. Premetto che ho pieno accesso al server (server virtuale di aruba) quindi posso installare eventuali componenti aggiuntivi.
Mi servirebbe sapere quali controlli posso/devo effetturare per aver la certezza dell'invio della mail e/o quali errori posso intercettare (cioè dal server smtp ) nell'eventualità che qualcosa vada storto
inoltre pensavo di creare un loop sulla tabella indirizzi ed inviare singolarmente una mail, mi chiedevo se ci potevano essere dei problemi e se si quali, che voi sappiate il server smtp di aruba ha limitazioni nell'invio? conviene installare un server stmp sul server virtuale (come www.mailenable.com)?

Grazie per il vosto aiuto
Marco

RE: Mailing list
fabrica non è online. Ultima attività: 04/12/2008 22.22.10fabrica
Inserito il: 15 ottobre 2008 13.24
Top Poster / www.fabricasoft.net / Blog / 1372 messaggi dal 03 dic 2001 Istalla Microsoft Silverlight!
Ciao,

la classe SmtpClient mette a disposizione un'eccezione (SmtpFailedRecipientsException ) che assolve a quasi tutti i compiti che hai descritto.
try
            {
                client.Send(message);
            }
            catch (SmtpFailedRecipientsException ex)
            {
                for (int i = 0; i < ex.InnerExceptions.Length; i++)
                {
                    SmtpStatusCode status = ex.InnerExceptions[i].StatusCode;
                    if (status == SmtpStatusCode.MailboxBusy ||
                        status == SmtpStatusCode.MailboxUnavailable)
                    {
                        Console.WriteLine("Delivery failed - retrying in 5 seconds.");
                        System.Threading.Thread.Sleep(5000);
                        client.Send(message);
                    }
                    else
                    {
                        Console.WriteLine("Failed to deliver message to {0}",
                            ex.InnerExceptions[i].FailedRecipient);
                        //Qui raccolgo tutte le mail non inviate
                    }
                }
            }
Non credo che 3000 invi possano rappresentare un problema con aruba ma, è ovviamente solo una supposizione. Test a manetta ...

Fabrizio Canevali

Working on Entity framework
RE: Mailing list
marco440 non è online. Ultima attività: 02/12/2008 10.27.34marco440
Inserito il: 15 ottobre 2008 15.28
85 messaggi dal 08 nov 2001 Istalla Microsoft Silverlight!
Gazie mille
informazione davvero utile.
il problema che ho adesso è come fare i test
il sito è in produzione non posso utilizzare gli indirizzi nel db e neanche crearmi 3000 email comunque qualcosa mi invento.
credo di aver letto che l'smtp di aruba ha una limitazione di invio di 300 email per volta ma non trovo più il post che lo diceva.
Ammettendo che sia vero pernsi possa essere utile mettere il tread in sleeping (come fai nella tua procedura) durante l'invio ogni tot mail inviate?
grazie

RE: Mailing list
fabrica non è online. Ultima attività: 04/12/2008 22.22.10fabrica
Inserito il: 15 ottobre 2008 15.38
Top Poster / www.fabricasoft.net / Blog / 1372 messaggi dal 03 dic 2001 Istalla Microsoft Silverlight!
Ciao,
il thread viene messo in "Sleep" solo nel caso in cui SmtpStatusCode è MailboxBusy. In questo caso il sistema attende e riprova ad inivare la mail.
Per il resto arbua costa poco ed è lecito attendersi delle limitazioni.
Ihmo per l'inivio di e-mail "corpose2 sarebbe meglio affidarsi ad un servizio ma mi rendo conto che non è sempre possibile.

Fabrizio Canevali

Working on Entity framework
RE: Mailing list
marco440 non è online. Ultima attività: 02/12/2008 10.27.34marco440
Inserito il: 15 ottobre 2008 15.53
85 messaggi dal 08 nov 2001 Istalla Microsoft Silverlight!
si ho visto che il tread va in sleep solo in caso di errore
mi chiedevo se poteva essere utile inserire uno "sleep" anche durante l'invio suddividendo le mail a gruppi di 300 per volta poi attendere qualche secondo

in merito alla tua ultima riga hai dei servizi da consigliarmi?

RE: Mailing list
fabrica non è online. Ultima attività: 04/12/2008 22.22.10fabrica
Inserito il: 15 ottobre 2008 15.58
Top Poster / www.fabricasoft.net / Blog / 1372 messaggi dal 03 dic 2001 Istalla Microsoft Silverlight!
Ciao,

essendo su aruba non puoi installare servizi. Ergo ho fai "accrocchi" incredibili ed insostenibili o ti accontenti.

Fabrizio Canevali

Working on Entity framework
RE: Mailing list
marco440 non è online. Ultima attività: 02/12/2008 10.27.34marco440
Inserito il: 15 ottobre 2008 16.06
85 messaggi dal 08 nov 2001 Istalla Microsoft Silverlight!
sono su un server virtuale posso installare quello che voglio (a patto di riuscire a farlo funzionare)

RE: Mailing list
fabrica non è online. Ultima attività: 04/12/2008 22.22.10fabrica
Inserito il: 15 ottobre 2008 16.10
Top Poster / www.fabricasoft.net / Blog / 1372 messaggi dal 03 dic 2001 Istalla Microsoft Silverlight!
ciao,

beh, se hai preso un server in housing prova ad installare un servizio semplicissimo(10 min di lavoro) e fallo girare.

Fabrizio Canevali

Working on Entity framework

2 pagine: [1] 2 Avanti >>

Vai a:
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.


PeppeDotNet - 1000 pt
gghi - 310 pt
fabrica - 50 pt

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008, SQL Prompt e 1 ebook!


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums