当我想将商店邮件消息发送到具有IMAP协议的文件夹时,我有一个小故障。我已经在方法中封装了发送邮件通知。 此方法有两个操作: - 使用标准SmtpClient发送邮件消息。 - 推入"已发送"使用Imap协议将邮件文件夹。 我想保留用于跟踪它的发送消息。我的邮件包含文本正文和一些附件。最终用户正确接收邮件和附件,但在我的"已发送"目录消息被正确显示消息包含附件但大小为零且不可读。我在IMAP中使用S22.imap NuGet包进行对话。
使用Imap协议是否有必要向存储的附件中添加一些操作到服务器?
public void SendMail(MailMessage p_Message)
{
SmtpClient smtpClient = new SmtpClient
{
Host = Constante.Constante.MaillingConstante.MaillingHost,
Port = Constante.Constante.MaillingConstante.SmtpMaillingPort,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Timeout = 30 * 1000,
Credentials = new NetworkCredential(p_Message.From.Address, <pwd>)
};
try
{
smtpClient.Send(p_Message);
// The default port for IMAP over SSL is 993.
using (ImapClient imapClient = new ImapClient(Constante.Constante.MaillingConstante.MaillingHost, Constante.Constante.MaillingConstante.ImapMaillingPort, p_Message.From.Address, <pwd>, AuthMethod.Login, true))
{
imapClient.StoreMessage(p_Message, false, "Sent");
}
}
catch (Exception ex)
{
.......
}
}