我有一个页面,可以使用多个附件发送电子邮件。这是我通过asp:AjaxFileUpload控件上传文件的代码,名为ajaxUpload1
:
Protected Sub ajaxUpload1_OnUploadComplete(ByVal sender As Object, ByVal e As AjaxControlToolkit.AjaxFileUploadEventArgs)
Dim filePath As String = "~/Uploads/" & Convert.ToString(e.FileName)
' Save upload file to the file system
ajaxUpload1.SaveAs(MapPath(filePath))
e.PostedUrl = Page.ResolveUrl("~\uploads\" + e.FileName)
Try
emailAttachment = New System.Net.Mail.Attachment(filePath)
attahchemnts.Add(emailAttachment)
Catch ex As Exception
Label2.Text = ex.ToString
End Try
End Sub
attahchemnts
是一个由所有上传文件名组成的列表。
此位负责在按钮点击事件
处设置邮件附件Try
If ajaxUpload1.HasAttributes Then
For counter As Integer = 0 To attahchemnts.Count
mail.Attachments.Add(attahchemnts.Item(counter))
Next
End If
Catch ex As Exception
Label2.Text = ex.ToString
End Try
问题是我能够成功发送和接收电子邮件,但我看不到电子邮件附件。任何人都有线索?谢谢
答案 0 :(得分:0)
这是我成功完成它的C#版本
var m = new MailMessage { Subject = txtSubject.Text, IsBodyHtml = true, Body = emailOpeningLine + txtMessage.Text };
try
{
m.To.Add(new MailAddress(dr[0].ToString().Trim()));
m.From = new MailAddress(txtUserName.Text);
foreach (var attachment in Attactments)
{
m.Attachments.Add(new Attachment(attachment));
}
client.Send(m);
m.To.Clear();
m.Attachments.Clear();
Success.Add(dr[0].ToString());
}
catch (SmtpException esException)
{
Errors.Add("Error sending to " + dr[0].ToString() + " " + esException.Message);
}
catch (Exception ex)
{
Errors.Add("Error sending to " + dr[0].ToString() + " " + ex.Message);
}
在此示例中,我有一个字符串列表,其中包含要附加到邮件消息的附件位置。
我也有一个成功和失败的列表,所以它继续失败然后我发现任何错误。
您应该可以使用telerik代码转换器
进行转换