ProcessStartInfo Varios argumentos

Tengo un formulario web ASP.NET que se agotó al enviar más de 1800 correos electrónicos cuyas direcciones se obtuvieron de una base de datos. En su lugar, estoy intentando enviar los correos electrónicos desde una aplicación de consola; accederé a la base de datos allí.

Necesito pasar la línea de asunto del correo electrónico y el texto del cuerpo como parámetros al ProcessStartInfo método pero necesita orientación con la sintaxis. ¿Alguien puede ayudar? Específicamente, si concateno el sujeto y el cuerpo vars y los separo con un espacio, ¿será suficiente o los espacios en las vars causarán problemas?

preguntado el 08 de noviembre de 11 a las 16:11

1 Respuestas

Tanto el asunto como el cuerpo del correo electrónico ya deben contener espacios, por lo que debe obedecer las mismas reglas que si estuviera llamando al programa desde la línea de comando y encerrar en " los argumentos que contienen espacios, de lo contrario cada espacio en el sujeto delimitará un nuevo argumento.

Otro caso especial es si el sujeto y el cuerpo ya contienen el " personaje, por lo que también debe tener en cuenta eso.

Creo que esto debería funcionar:

string subject = "Hello World!";

string body = @"This has "" quotes """;

string arguments = string.Format(
    @"""{0}"" ""{1}""", 
    subject.Replace(@"""", @""""""),
    body.Replace(@"""", @""""""));

respondido 08 nov., 11:21

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.