相关疑难解决方法(0)

如何使用SmtpClient.SendAsync发送带附件的电子邮件?

我通过ASP.NET MVC使用服务组件.我想以异步方式发送电子邮件,让用户做其他事情,而不必等待发送.

当我发送没有附件的邮件时,它工作正常.当我发送带有至少一个内存附件的消息时,它会失败.

所以,我想知道是否可以使用异步方法与内存中的附件.

这是发送方法


    public static void Send() {

        MailMessage message = new MailMessage("from@foo.com", "too@foo.com");
        using (MemoryStream stream = new MemoryStream(new byte[64000])) {
            Attachment attachment = new Attachment(stream, "my attachment");
            message.Attachments.Add(attachment);
            message.Body = "This is an async test.";

            SmtpClient smtp = new SmtpClient("localhost");
            smtp.Credentials = new NetworkCredential("foo", "bar");
            smtp.SendAsync(message, null);
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我目前的错误


System.Net.Mail.SmtpException: Failure sending mail.
 ---> System.NotSupportedException: Stream does not support reading.
   at System.Net.Mime.MimeBasePart.EndSend(IAsyncResult asyncResult)
   at System.Net.Mail.Message.EndSend(IAsyncResult asyncResult)
   at System.Net.Mail.SmtpClient.SendMessageCallback(IAsyncResult result)
   --- End of inner exception stack …
Run Code Online (Sandbox Code Playgroud)

.net asp.net email asp.net-mvc

31
推荐指数
1
解决办法
4万
查看次数

报告服务:获取生成的报告的PDF

我有一个报告服务服务器已经有一些运行报告,我现在需要通过自定义网站(运行asp.net MVC3)生成它们.

我需要以流/字节的形式检索此报告以将其发送给用户.没有"报告查看器"左右.

上次我使用报告服务是使用sql 2005,我们应该作为参考一个不起眼的asmx文件.

现在是什么,sql server报告2008 R2,.Net4和visual studio 2010?我找不到解释整个事情的教程.

(实际上我找不到sql 2008 r2没有报表查看器的教程)

asp.net reporting reporting-services ssrs-2008

8
推荐指数
1
解决办法
2万
查看次数

从 C# 中的特定 url 发送带有附件的电子邮件

在我看来,用户可以搜索一个文档,一旦得到结果,他们可以点击它的 id,然后根据 id 从特定的 url 下载该文档:http://test.com/a.ashx?format = pdf&id= {0}

例如,如果 id 为 10,则下载文档的 url 将为:http://test.com/a.ashx?format=pdf&id=10,当用户点击它时,他们就可以下载该文档。

在我看来,它是这样的:

 foreach (var item in Model)
        {

                <td>
                    <a href=@string.Format("http://test.com/a.ashx?format=pdf&id={0}",item.id)>
                        @Html.DisplayFor(modelItem => item.id)
                    </a>
                </td>
        }
Run Code Online (Sandbox Code Playgroud)

下面是我的 SendEmail 控制器操作。

我能够向用户发送电子邮件。但我在发送附件时遇到问题。我的问题是:如何将 URL 附带的文档附加到电子邮件中?

 public static bool SendEmail(string SentTo, string Text, string cc)
    {

        MailMessage msg = new MailMessage();

        msg.From = new MailAddress("test@test.com");
        msg.To.Add(SentTo);
        msg.CC.Add(cc);
        msg.Subject = "test";
        msg.Body = Text;
        msg.IsBodyHtml = true;

        System.Net.Mail.Attachment attachment;
        attachment = new System.Net.Mail.Attachment(???);
        msg.Attachments.Add(attachment);

        SmtpClient client = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc mailmessage

3
推荐指数
1
解决办法
2万
查看次数