¿Cómo adjuntar el objeto MemoryStream en un correo electrónico con RestSharp?
-
21-12-2019 - |
Pregunta
Me pregunto si puede ayudarme a agregar un objeto de unión de memoria de memoria para el archivo adjunto de correo electrónico usando RESTSHARP?
Aquí está el código que obtuve de Mailgun, pero está adjuntando un archivo físico en este ejemplo:
gracias.
public static IRestResponse SendComplexMessage() {
RestClient client = new RestClient();
client.BaseUrl = "https://api.mailgun.net/v2";
client.Authenticator =
new HttpBasicAuthenticator("api",
"key-3ax6xnXXXXXXXX");
RestRequest request = new RestRequest();
request.AddParameter("domain",
"samples.mailgun.org", ParameterType.UrlSegment);
request.Resource = "{domain}/messages";
request.AddParameter("from", "Excited User <me@samples.mailgun.org>");
request.AddParameter("to", "foo@example.com");
request.AddParameter("cc", "baz@example.com");
request.AddParameter("bcc", "bar@example.com");
request.AddParameter("subject", "Hello");
request.AddParameter("text", "Testing some Mailgun awesomness!");
request.AddParameter("html", "<html>HTML version of the body</html>");
// I need to add memorystream object here ---
request.AddFile("attachment", Path.Combine("files", "test.jpg"));
request.AddFile("attachment", Path.Combine("files","test.txt"));
// -------------------------------------------
request.Method = Method.POST;
return client.Execute(request);
}
Solución
lo suficientemente fácil.Use la sobrecarga que toma el archivo como una matriz de bytes.Asumiendo
using(var memoryStream = new MemoryStream(File.ReadAllBytes("test.jpg")))
o similar en algún lugar anterior, todo lo que necesita hacer es
request.AddFile("attachment", memoryStream.ToArray(), "test.jpg");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow