SmtpClient,MailMessage 发送邮件 或许是 大小限制问题

herohua0509 2011-08-18 09:11:23
void SendMail()
{
SmtpClient _smtpClient = new SmtpClient();
_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
_smtpClient.Host = GetMailNet(m_Address);//指定SMTP服务器
_smtpClient.Credentials = CredentialCache.DefaultNetworkCredentials;

_smtpClient.Credentials = new System.Net.NetworkCredential(m_Address, m_Pwd);//用户名和密码

MailMessage _mailMessage = null;
try
{
_mailMessage = new MailMessage(m_Address, t_Address);//发件人,收件人
}
catch
{
MessageBox.Show("Sender or recipient address is not correct!");
return;
}

_mailMessage.Subject = mailTitle;//主题
_mailMessage.Body = mailContent;//内容
_mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码
_mailMessage.IsBodyHtml = true;//设置为HTML格式
_mailMessage.Priority = MailPriority.High;//优先级


Attachment attachment = null;
if (fileInfo != null)
{
//Stream fileReader = new FileStream(fileInfo.FullName, FileMode.Open);

//attachment = new Attachment(fileReader, fileInfo.Name);

attachment = new Attachment(fileInfo.FullName, MediaTypeNames.Application.Octet);
// Add time stamp information for the file.
ContentDisposition disposition = attachment.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(fileInfo.FullName);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(fileInfo.FullName);
disposition.ReadDate = System.IO.File.GetLastAccessTime(fileInfo.FullName);

_mailMessage.Attachments.Add(attachment);

}
try
{
dis.BeginInvoke(new StopAngle(HideBorder), System.Windows.Threading.DispatcherPriority.Normal);
//border.Visibility = System.Windows.Visibility.Hidden;
_smtpClient.Send(_mailMessage);
fileInfo = null;
attachment.Dispose();

}
catch
{
MessageBox.Show("Send failed!");
attachment.Dispose();
}
}

抛出错误,发送邮件失败,

索引超出界限
...全文
442 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZhangNan20100811 2011-08-18
  • 打赏
  • 举报
回复
mark!
daifei4451 2011-08-18
  • 打赏
  • 举报
回复
断点调试一下,看看变量那个超出或者为空了
今天怎么那么多帖子404
LMAOhuaNL 2011-08-18
  • 打赏
  • 举报
回复
把你获取的那几个变量打印出来看一下,应该有一个元素里面为空,或者超出
isjoe 2011-08-18
  • 打赏
  • 举报
回复
代码问题。
gengchenhui 2011-08-18
  • 打赏
  • 举报
回复
索引超出,还是看你程序吧。应该不是大小限制的问题。
  • 打赏
  • 举报
回复
把你无关的代码删掉。

另外,为什么要调用 attachment.Dispose() ?
yinsuxia 2011-08-18
  • 打赏
  • 举报
回复
会不会是文件大小的限制?
herohua0509 2011-08-18
  • 打赏
  • 举报
回复
参数都是有的

我式过了
发送1M一下的附件可以发送成功
选择一个4M的就不行了
抛出错误
不知道有没有谁碰到过

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧