Domanda

Quello che sto cercando di fare è passare il contenuto non elaborato di un'e-mail in uscita a spamassassin per calcolare un punteggio di spam. Sono bloccato nel modo in cui potrei ottenere il contenuto non elaborato dell'e-mail.

Il mio codice C # attualmente costruisce solo MailMessage e gli passa il metodo Send () di SmtpClient. Prima di inviare, c'è un modo per ottenere una versione non elaborata del messaggio di posta (come potrebbe vedere il protocollo) in modo che io possa passare questo allo strumento spamassassin per la valutazione dello spam?

Se non ho spiegato molto bene, fammi sapere e cercherò di spiegare meglio.

Grazie in anticipo,

Martin.

È stato utile?

Soluzione

Ho trovato una soluzione al mio problema.

La classe SmtpClient ha due proprietà che possono essere impostate e che fanno sì che l'email sia archiviata in un file EML piuttosto che effettivamente inviata. Lo scopo originale di ciò è quello di generare e-mail con SmtpClient ma effettivamente prelevate e inviate da un altro server SMTP.

SmtpClient.DeliveryMethod
SmtpClient.PickupDirectoryLocation

Se SmtpClient.DeliveryMethod è impostato su SmtpDeliveryMethod.SpecifiedPickupDirectory e SmtpClient.PickupDirectoryLocation è impostato sul percorso completo di alcune directory sulla macchina, quindi chiamare SmtpClient.Send (mailMessage); lo fa salvare.

A sua volta, il file EML appena creato può essere passato a spamassassin direttamente dalla riga di comando per ottenere il punteggio di spam di cui avevo bisogno.

Spero che queste informazioni possano aiutare chiunque altro a risolvere questo problema.

Cordiali saluti,

Martin.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top