2011-04-11 12 views
14

Sto utilizzando SMTPclient per inviare posta con allegato. Quando l'allegato è superiore a 2mb, viene visualizzato l'errore seguente: ** "Allocazione di memoria superata La risposta del server è stata: 4.3.1 La dimensione del messaggio supera la dimensione massima del messaggio fissa". **Sovrastruttura di memoria superata. La risposta del server è stata: 4.3.1 La dimensione del messaggio supera la dimensione massima fissa del messaggio

1) Posso inviare email ** utilizzando smtpclient con dimensione allegato> 2mb. ** Se sì, qual è il limite di allegato.

2) Come posso correggere l'errore sopra riportato?

Per favore, dammi un'idea, se hai la soluzione.

+0

Ho avuto lo stesso problema. Inavvertitamente ho aggiunto l'allegato più volte. In realtà era un problema con il mio codice, e non con il server smtp. –

risposta

1

Non è possibile "risolvere" quello. Sembra che il tuo server non ti permetta di inviare allegati così grandi. A meno che tu non abbia il controllo sul server e sia in grado di cambiare quel limite, non c'è nulla che tu possa fare. Solo alternative che potrei pensare sarebbero fornire gli allegati tramite http o ftp e il collegamento agli allegati.

15

I moderni server di posta SMTP dispongono di una variabile di configurazione per impostare la dimensione massima consentita per i messaggi. Questo definisce la quantità maggiore di dati che il server di posta accetterà in un singolo messaggio. Se stai cercando di inviare un messaggio più grande, il server lo rifiuterà. Hai un bel paio di opzioni, tuttavia:

  1. comprimere l'attaccamento per ridurne le dimensioni (ad esempio utilizzando zip)
  2. Modificare il limite di dimensione massima dei messaggi sul server, ma questo richiede l'accesso amministratore al server
  3. Spezza il messaggio in blocchi più piccoli, dove ogni blocco è più piccolo del limite del server.
  4. Utilizzare un meccanismo/protocollo diverso per trasferire l'allegato.