通过mailgun接收电子邮件

时间:2013-11-25 03:37:54

标签: c# mailgun

我是使用mailgun的新手。但我的任务是创建一个C#MVC控制器,它将接收mailgun转发的电子邮件。我在mailgun发布的文档中看到了一个示例代码来执行此操作,但它使用的是Django,我对此并不十分熟悉。以下是用Django编写的示例代码:

def on_incoming_message(request):
 if request.method == 'POST':
     sender    = request.POST.get('sender')
     recipient = request.POST.get('recipient')
     subject   = request.POST.get('subject', '')

     body_plain = request.POST.get('body-plain', '')
     body_without_quotes = request.POST.get('stripped-text', '')
     # note: other MIME headers are also posted here...

     # attachments:
     for key in request.FILES:
         file = request.FILES[key]
         # do something with the file

 # Returned text is ignored but HTTP status code matters:
 # Mailgun wants to see 2xx, otherwise it will make another attempt in 5 minutes
 return HttpResponse('OK')

现在我的问题是,我将如何在C#中转换它?一个示例代码绝对是惊人的。我在这里先向您的帮助表示感谢。对不起,如果你发现这个问题很愚蠢。

1 个答案:

答案 0 :(得分:4)

你需要做的是从邮件枪接收邮件请求,然后将其拆分为相应的部分,这就是上面django示例所做的。

这是recieve an http post的示例。

public void ProcessRequest(HttpContext context)
{
    var value1 = context.Request["param1"];
    var value2 = context.Request["param2"];
    ...
}

它使用的是一个C#库,可以很容易地读取POST的内容。

请查看此信息以获取更多详细信息:

http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.90).aspx