已自行解决代码共享出来给大家看看public Boolean SendNotesMail(object To, object copyTo, string subject, string location) { string from = ConfigurationManager.AppSe...显示全部
已自行解决
代码共享出来给大家看看
public Boolean SendNotesMail(object To, object copyTo, string subject, string location)
{
string from = ConfigurationManager.AppSettings["from"];
Domino.NotesSession ns = null;
Domino.NotesDatabase nd = null;
Domino.NotesDocument nDoc = null;
Domino.NotesMIMEEntity mime = null;
Domino.NotesMIMEHeader mimeHeader = null;
Domino.NotesMIMEEntity child = null;
NotesStream stream = null;
object itemValue = null;
string pw = "";
string serverName = "";
string mailFile = "";
string date = System.DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
string[] sImage = { "pic1.gif", "pic2.gif", "test.xlsx" };
string sHtml = ""
+ "
";
try
{
lock (this)
{
ns = new Domino.NotesSession();
pw = ConfigurationManager.AppSettings["fromPW"];
ns.Initialize(pw);
serverName = ConfigurationManager.AppSettings["mailServer"];
mailFile = "mail\" + ConfigurationManager.AppSettings["fromJobcode"];
nd = ns.GetDatabase(serverName, mailFile, false);
if (!nd.IsOpen)
{
nd.Open();
}
nDoc = nd.CreateDocument();
nDoc.ReplaceItemValue("Form", "Memo");
nDoc.ReplaceItemValue("From", from);
nDoc.ReplaceItemValue("SendTo", To);
nDoc.ReplaceItemValue("CopyTo", copyTo);
nDoc.ReplaceItemValue("Subject", subject);
stream = ns.CreateStream();
mime = nDoc.CreateMIMEEntity("Body");
mimeHeader = mime.CreateHeader("Content-Type");
mimeHeader.SetHeaderVal("multipart/related");
//发送HTML格式文本
child = mime.CreateChildEntity(null);
stream.WriteText(sHtml,EOL_TYPE.EOL_NONE);
child.SetContentFromText(stream, "text/html;charset=gb2312", MIME_ENCODING.ENC_NONE);
stream.Close();
//发送图片
child = mime.CreateChildEntity(null);
mimeHeader = child.CreateHeader("Content-ID");
mimeHeader.SetHeaderVal(sImage[0]);
if (stream.Open(Directory.GetCurrentDirectory() + "[url=file://\pic\]\pic\[/url]" + sImage[0], "binary"))
{
if (stream.Bytes != 0)
child.SetContentFromBytes(stream, "image/jpeg;name=\"" + sImage[0] + "\"", MIME_ENCODING.ENC_IDENTITY_BINARY);
}
stream.Close();
child = mime.CreateChildEntity(null);
mimeHeader = child.CreateHeader("Content-ID");
mimeHeader.SetHeaderVal(sImage[1]);
if (stream.Open(Directory.GetCurrentDirectory() + "[url=file://\pic\]\pic\[/url]" + sImage[1], "binary"))
{
if (stream.Bytes != 0)
child.SetContentFromBytes(stream, "image/jpeg;name=\"" + sImage[1] + "\"", MIME_ENCODING.ENC_IDENTITY_BINARY);
}
stream.Close();
//添加附件
child = mime.CreateChildEntity(null);
mimeHeader = child.CreateHeader("Content-Type");
mimeHeader.SetHeaderVal("multipart/related");
mimeHeader = child.CreateHeader("Content-Disposition");
mimeHeader.SetHeaderVal("attachment;filename=\"" + "Tempeture.gif" + "\"");
mimeHeader = child.CreateHeader("Content-ID");
mimeHeader.SetHeaderVal(sImage[0]);
if (stream.Open(Directory.GetCurrentDirectory() + "[url=file://\pic\]\pic\[/url]" + sImage[0], "binary"))
{
if (stream.Bytes != 0)
child.SetContentFromBytes(stream, "application/octet-stream" + "\"", MIME_ENCODING.ENC_IDENTITY_BINARY);
}
stream.Close();
child = mime.CreateChildEntity(null);
mimeHeader = child.CreateHeader("Content-Type");
mimeHeader.SetHeaderVal("multipart/related");
mimeHeader = child.CreateHeader("Content-Disposition");
mimeHeader.SetHeaderVal("attachment;filename=\"" + "Humidity.gif" + "\"");
mimeHeader = child.CreateHeader("Content-ID");
mimeHeader.SetHeaderVal(sImage[1]);
if (stream.Open(Directory.GetCurrentDirectory() + "[url=file://\pic\]\pic\[/url]" + sImage[1], "binary"))
{
if (stream.Bytes != 0)
child.SetContentFromBytes(stream, "application/octet-stream" + "\"", MIME_ENCODING.ENC_IDENTITY_BINARY);
}
stream.Close();
child = mime.CreateChildEntity(null);
mimeHeader = child.CreateHeader("Content-Type");
mimeHeader.SetHeaderVal("multipart/related");
mimeHeader = child.CreateHeader("Content-Disposition");
mimeHeader.SetHeaderVal("attachment;filename=\"" + "ExceptionInfo.xlsx" + "\"");
mimeHeader = child.CreateHeader("Content-ID");
mimeHeader.SetHeaderVal(sImage[2]);
if (stream.Open(Directory.GetCurrentDirectory() + "[url=file://\excel\]\excel\[/url]" + sImage[2], "binary"))
{
if (stream.Bytes != 0)
child.SetContentFromBytes(stream, "application/octet-stream" + "\"", MIME_ENCODING.ENC_IDENTITY_BINARY);
}
stream.Close();
ns.ConvertMime = true;
nDoc.SaveMessageOnSend = false;
nDoc.ReplaceItemValue("postDate", DateTime.Now.ToShortDateString());
itemValue = nDoc.GetItemValue("SendTo");
nDoc.Send(false, ref itemValue);
return true;
}
}
catch (Exception error)
{
listBox1.Items.Add(error.Message + " Exception caughted " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
return false;
}
finally
{
ns = null;
nd = null;
nDoc = null;
itemValue = null;
GC.Collect();
}
}收起