¿Hay alguna forma de verificar el puntaje en una aplicación ASP.Net? ¿Una clase o algo similar para .Net? ¿Qué hay de otros filtros de correo no deseado por ahí. - Editado Estoy buscando una forma de verificar la puntuación de spam de los mensajes de correo electrónico en C#.spamassassin check score C# code
5
A
Respuesta
1
No estoy muy seguro de si eso es lo que está buscando, pero hay un C# envoltorio que simplifica la comunicación con un servidor de SpamAssassin en Proyecto Código:
la esperanza de que ayuda!
4
Aquí está mi código súper simplificado de "simplemente compruebe el puntaje" para conectarse a un correo electrónico en ejecución de Spam Assassin desde C# que escribí para http://elasticemail.com. Simplemente configure SA para que se ejecute en un servidor y configure los permisos de acceso.
continuación, puede utilizar este código para llamarlo:
public class SimpleSpamAssassin
{
public class RuleResult
{
public double Score = 0;
public string Rule = "";
public string Description = "";
public RuleResult() { }
public RuleResult(string line)
{
Score = double.Parse(line.Substring(0, line.IndexOf(" ")).Trim());
line = line.Substring(line.IndexOf(" ") + 1);
Rule = line.Substring(0, 23).Trim();
Description = line.Substring(23).Trim();
}
}
public static List<RuleResult> GetReport(string serverIP, string message)
{
string command = "REPORT";
StringBuilder sb = new StringBuilder();
sb.AppendFormat("{0} SPAMC/1.2\r\n", command);
sb.AppendFormat("Content-Length: {0}\r\n\r\n", message.Length);
sb.AppendFormat(message);
byte[] messageBuffer = Encoding.ASCII.GetBytes(sb.ToString());
using (Socket spamAssassinSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
{
spamAssassinSocket.Connect(serverIP, 783);
spamAssassinSocket.Send(messageBuffer);
spamAssassinSocket.Shutdown(SocketShutdown.Send);
int received;
string receivedMessage = string.Empty;
do
{
byte[] receiveBuffer = new byte[1024];
received = spamAssassinSocket.Receive(receiveBuffer);
receivedMessage += Encoding.ASCII.GetString(receiveBuffer, 0, received);
}
while (received > 0);
spamAssassinSocket.Shutdown(SocketShutdown.Both);
return ParseResponse(receivedMessage);
}
}
private static List<RuleResult> ParseResponse(string receivedMessage)
{
//merge line endings
receivedMessage = receivedMessage.Replace("\r\n", "\n");
receivedMessage = receivedMessage.Replace("\r", "\n");
string[] lines = receivedMessage.Split('\n');
List<RuleResult> results = new List<RuleResult>();
bool inReport = false;
foreach (string line in lines)
{
if (inReport)
{
try
{
results.Add(new RuleResult(line.Trim()));
}
catch
{
//past the end of the report
}
}
if (line.StartsWith("---"))
inReport = true;
}
return results;
}
}
El uso es muy fácil:
List<RuleResult> spamCheckResult = SimpleSpamAssassin.GetReport(IP OF SA Server, FULL Email including headers);
le proporcione la lista de reglas de verificación de spam se golpea y el impacto puntuación resultante.
Cuestiones relacionadas
- 1. C++ is_trivially_copyable check
- 2. "Bueno" Flay Score
- 3. Lucene Score results
- 4. C# ToDictionary con ContainsKey check
- 5. ACL Check/Management en C#
- 6. Implementando Wilson Score en SQL
- 7. Optimizar C# Code Fragment
- 8. C++ Code Profiler
- 9. C# Code Analysis CA2000
- 10. C++ Code Generation
- 11. C# Code Generation
- 12. Android Score de predicción de gestos Rango
- 13. android radiobutton check after clearing check issue
- 14. Herramienta gratuita Code-to-Flowchart/UML para C# code
- 15. extraer 7zip en C# code
- 16. C# a VB.NET Code Converter
- 17. C# EventHandler Beautiful Code (¿Cómo?)
- 18. C# code to class diagram
- 19. RELAX NG C++ Code Generator?
- 20. Instrumenting C/C++ code using LLVM
- 21. Mezcla de C# Code y umanaged C++ code en Windows con Visual Studio
- 22. C++ code dependency/call-graph "viewer"?
- 23. Iniciando otra aplicación desde C# code
- 24. C# Code Minification Tools and Techniques
- 25. estático Code Analyzer para C++ en Linux
- 26. Off-the-Shelf C++ Hex Dump Code
- 27. Crear DataGridTemplateColumn a través de C# Code
- 28. ¿Qué hace "make check"?
- 29. DeviceOrientation Check en AppDelegate
- 30. git hook sintaxis check
¿Qué puntuación? Puede ser más detallado sobre lo que está tratando de hacer. http://tinyurl.com/so-hints –
Ridvan, ¿desea implementar un sistema que reciba los correos electrónicos del servidor y compruebe qué es correo no deseado y qué es bueno? si es así, ¿qué quieres hacer con buenos y malos mensajes? –
Estoy tratando de implementar una herramienta que verifique el puntaje de spam de un mensaje de correo electrónico si se proporciona From, Subject and Body. No cuando recibo el correo electrónico, pero antes de que se envíe un correo electrónico, o una herramienta web para mostrar el puntaje de correo electrónico no deseado. He visto este http://www.codeproject.com/KB/recipes/BayesianCS.aspx pero para mí no es realmente Spam Assasin – Ridvan