c#使用POST和Mime发送电子邮件

c#使用POST和Mime发送电子邮件,c#,post,mime,C#,Post,Mime,我正在写一个程序,我的主管希望我利用他们的内部沙箱电子邮件系统 基本上,我到目前为止的代码是: WebRequest request = WebRequest.Create(uri); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; Stream os = null; byte[] Bytes = Encoding.ASCII.GetBytes("From: no-reply

我正在写一个程序,我的主管希望我利用他们的内部沙箱电子邮件系统

基本上,我到目前为止的代码是:

WebRequest request = WebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";

Stream os = null;
byte[] Bytes = Encoding.ASCII.GetBytes("From: no-reply@foo.com\n" + "To: foo@foo.com\n" + "Subject: test\n" + "jkjlkjkj\n");
try
{
  request.ContentLength = Bytes.Length;
  os = request.GetRequestStream();
  os.Write(Bytes, 0, Bytes.Length);
}
catch (Exception e)
{
  Console.WriteLine("error");
}
这可以正常工作,并按预期发送电子邮件。但是如何使用此方法发送附件?它们可能是小型转储文件


谢谢。

如果您使用的是标准电子邮件协议,只需查看有关如何在电子邮件中发送附件的规范即可。我刚刚在PHP中发现了这个示例,它创建了一个带有附件的消息,可能在.NET中也会这样(更改调用):

尝试在字节数组中添加以下行:

内容类型:application/zip;name=“attachment.zip”
内容传输编码:base64
内容配置:附件 附件内容

其中attachmentContents是文件的base64编码转储(显然,根据您发送的内容更改名称和mime类型)

我从这里得到了这个密码

希望能有帮助


希望能有所帮助。

如果您使用的是标准电子邮件协议,请查看电子邮件中如何发送附件的规范。我刚刚在PHP中发现了一个创建带有附件的邮件的示例,也许它在.NET中的工作方式相同(更改调用):

尝试在字节数组中添加以下行:

内容类型:应用程序/zip;name=“attachment.zip”
内容传输编码:base64
内容配置:附件 附件内容

其中attachmentContents是文件的base64编码转储(显然,根据您发送的内容更改名称和mime类型)

我从这里得到了这个密码

希望能有帮助


希望有帮助。

这在很大程度上取决于系统希望如何格式化附件。
WebRequest
仅用于发送HTTP请求。uri变量中有自定义电子邮件脚本。这不是发送电子邮件的标准方式。因此,您必须查看uri变量中的脚本,看看它是否支持HTTP请求发送附件。这在很大程度上取决于系统希望如何格式化附件。
WebRequest
仅用于发送HTTP请求。uri变量中有自定义电子邮件脚本。这不是发送电子邮件的标准方式。因此,您必须查看uri变量中的脚本,看看它是否支持s结束附件。