2012-10-16 13 views
5

Uno dei nostri problemi è che il nostro server di posta elettronica in uscita fa schifo a volte. Gli utenti attiveranno un'e-mail nella nostra applicazione e l'applicazione può richiedere l'ordine di 30 secondi per inviarla effettivamente. Facciamo ancora peggio e ammettere che non stiamo nemmeno facendo questo su un thread in background, quindi l'utente è completamente bloccato durante questo periodo. SQL Server Database Mail è stato proposto come soluzione a questo problema, poiché implementa essenzialmente una coda di messaggi ed è fisicamente più vicino e molto più reattivo rispetto al nostro host di posta elettronica di terze parti. È anche facile da implementare per noi, dal momento che sostituisce una chiamata a SmtpClient.Send con l'esecuzione di una stored procedure. La maggior parte delle e-mail delle applicazioni contiene PDF, XLS e così via e ho visto che le dimensioni di questi allegati raggiungono anche i 20 MB.È una buona idea utilizzare Database Mail come server di ritrasmissione della posta elettronica?

L'utilizzo di Database Mail per gestire tutti gli odori di posta elettronica della nostra applicazione è negativo per me, ma ho difficoltà a parlare con qualcuno a causa del costo estremamente basso di implementazione. Il nostro server di database di produzione è troppo potente, quindi non sono sicuro che sia il che non può gestire il carico anche da. Qualche idea o alternative più sicure?

risposta

1

Tutto ciò che dovete fare è eseguire attraverso un server SMTP e se avete intenzione di inviare grandi quantità di posta allora dovrete non solo bilanciare il carico dei server (e dei server DNS se state pianificando sull'invio di 100K + mail alla volta), ma assicurati che i tuoi server di posta elettronica in uscita abbiano i record A corretti registrati in DNS per impedire i rimbalzi.

È una soluzione economica (meno i costi di bilanciamento del carico).

+0

Potresti elaborare? Intendi ospitare un server SMTP sulla nostra LAN e usarlo? Il filtraggio dello spam potrebbe essere una preoccupazione? Inviamo quello che considererei un basso volume di email, ma spesso inviamo allegati di grandi dimensioni, quindi non sono sicuro che il bilanciamento del carico varrebbe il costo. –

0

Sì, duplica il server per la tua LAN interna e Internet e assicurati che sia un server solo in uscita. Inizia con un server SMTP e, se ti capita di avere un collo di bottiglia, guarda se è collegato alla memoria, al disco, alla rete o al carico. Se il suo carico è correlato, potrebbe essere il momento di esaminare il bilanciamento del carico. Se è legato alla memoria, aggiungi più memoria. Se è relativo al disco, lancia un array RAID 0 + 1 su di esso. Se è collegato alla rete usa un tubo più grande.

+0

Sono un amministratore di rete/server piuttosto schifoso. Il nostro attuale amministratore di reti/server dice che i destinatari potrebbero bloccare le nostre e-mail poiché non sarebbero in grado di eseguire una ricerca inversa del nostro server SMTP. Non so davvero cosa significhi, ma ci sto guardando. Inoltre, benvenuto su StackOverflow! È un'idea migliore modificare la tua risposta originale anziché postare una nuova risposta per rispondere a una domanda successiva. –

+0

Informa il proprio amministratore di rete che, con i record DNS correttamente configurati, non sarà un problema. –

+0

Dice che il nostro dominio punta già a un server di posta (non è il nostro) e che avremmo bisogno di usare un sottodominio o qualcosa di strano per avere un secondo. –