![](/img/trans.png)
[英]Sending HTML Email using Mailgun API with RestSharp C# causing message to be truncated at ampersand “&” when included
[英]Mailgun sending attachment with RestSharp
我正在使用RestSharp嘗試使用Mailgun API發送附件。 我嘗試使用硬編碼路徑從系統中的文件附加,也使用varbinary(MAX)
(SQL Server)屬性上的ToArray()
方法從存儲在數據庫中的二進制文件附加,但都沒有成功。
附件在技術上發送 ,但當電子郵件到達我的收件箱時,文件大小總是大約302字節,並且總是損壞。 我嘗試了3個不同的文件,每次都遇到同樣的問題。
電子郵件的其余部分發送,傳遞和顯示正常。 這只是被打破的附件。
代碼細分:
// Doesnt work(Data property is varbinary(MAX)
request.AddFileBytes("attachment",databaseModel.Data.ToArray(),databaseModel.Filename, "multipart/form-data");
// Also doesnt work(Data property is varbinary(MAX)
request.AddFile("attachment",databaseModel.Data.ToArray(),databaseModel.Filename, "multipart/form-data");
// Also doesnt work
var path = @"D:\Template.pdf";
request.AddFile("attachment",path,"multipart/form-data");
此代碼有效:
public static void Main(string[] args)
{
Console.WriteLine(SendSimpleMessage().Content.ToString());
Console.ReadLine();
}
public static IRestResponse SendSimpleMessage()
{
var path1 = @"C:\Users\User\Pictures\website preview";
var fileName = "Learn.png";
RestClient client = new RestClient();
client.BaseUrl = new Uri("https://api.mailgun.net/v3");
client.Authenticator =
new HttpBasicAuthenticator("api",
"key-934345306fead7de0296ec2fb96a143");
RestRequest request = new RestRequest();
request.AddParameter("domain", "mydomain.info", ParameterType.UrlSegment);
request.Resource = "{domain}/messages";
request.AddParameter("from", "Excited User <example@mydomain.info>");
request.AddParameter("to", "peter.cech@gmail.com");
request.AddParameter("subject", "Hello");
request.AddParameter("text", "Testing some Mailgun awesomness! This is all about the text only. Just testing the text of this email.";
request.AddFile("attachment", Path.Combine(path1,fileName));
request.Method = Method.POST;
return client.Execute(request);
}
我想到了..
不應該在request.AddFile()上添加“multipart / form-data”;
刪除此功能可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.