日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 使用 Lotus notes 公共邮箱发送邮件

發(fā)布時(shí)間:2025/3/15 C# 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 使用 Lotus notes 公共邮箱发送邮件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

公司的郵件系統(tǒng)用的是反人類的 Lotus notes, 你敢信?

最近要實(shí)現(xiàn)一個(gè)功能,郵件提醒功能,就是通過自動(dòng)發(fā)送提醒郵件

?前前后后這個(gè)問題搞了2天,由于公司的諸多條件限制,無法直接調(diào)用到公司發(fā)送郵件的接口,只有通過類似 Lotus script,VBA 等其他方式來實(shí)現(xiàn)。

用VBA代碼實(shí)現(xiàn)發(fā)送郵件,其實(shí)我在n年前就實(shí)現(xiàn)過了

代碼如下,網(wǎng)上一搜也一大堆

Function SendEmailbyNotesWithAttachement_2(Addresses, Attach, cc)strSubject = ThisWorkbook.Sheets("EMAIL").Range("B1")strbody = ThisWorkbook.Sheets("EMAIL").Range("A1")'Declare VariablesDim s As ObjectDim db As ObjectDim body As ObjectDim bodyChild As ObjectDim header As ObjectDim stream As ObjectDim host As StringDim message As Object' Notes variablesSet s = CreateObject("Notes.NotesSession")Set db = s.CURRENTDATABASESet stream = s.CreateStream' Turn off auto conversion to rtfs.ConvertMIME = False' Create messageSet message = db.CREATEDOCUMENTmessage.Form = "memo"message.Subject = strSubjectmessage.sendTo = Split(Addresses, ";")message.CopyTo = ccmessage.SaveMessageOnSend = True' Create the body to hold HTML and attachmentSet body = message.CreateMIMEEntity'Child mime entity which is going to contain the HTML which we put in the streamSet bodyChild = body.CreateChildEntity()Call stream.WriteText(strbody)Call bodyChild.SetContentFromText(stream, "text/HTML;charset=UTF-8", ENC_NONE)Call stream.CloseCall stream.Truncate' This will run though an array of attachment paths and add them to the emailFor i = 0 To UBound(Attach)strAttach = Attach(i)If Len(strAttach) > 0 And Len(Dir(strAttach)) > 0 Then' Get the attachment file namepos = InStrRev(strAttach, "\")Filename = Right(strAttach, Len(strAttach) - pos)'A new child mime entity to hold a file attachmentSet bodyChild = body.CreateChildEntity()Set header = bodyChild.CreateHeader("Content-Type")Call header.SetHeaderVal("multipart/mixed")Set header = bodyChild.CreateHeader("Content-Disposition")Call header.SetHeaderVal("attachment; filename=" & Filename)Set header = bodyChild.CreateHeader("Content-ID")Call header.SetHeaderVal(Filename)Set stream = s.CreateStream()If Not stream.Open(strAttach, "binary") ThenMsgBox "Open failed"End IfIf stream.Bytes = 0 ThenMsgBox "File has no content"End IfCall bodyChild.SetContentFromBytes(stream, "application/octet-stream", ENC_IDENTITY_BINARY) ' All my attachments are excel this would need changing depensding on your attachments.End IfNext'Send the emailCall message.Send(False)s.ConvertMIME = True ' Restore conversionEnd Function View Code VBA

?但是現(xiàn)實(shí)情況是這樣的

我們需要郵件從公郵發(fā)送出去

何謂公郵:整個(gè)Team使用的郵箱,如***admin@email.com 之類的郵箱

使用過反人類的 Lotus notes 都知道公郵是需要先打開個(gè)人郵箱才能進(jìn)去的?

于是當(dāng)我把以上的VBA 代碼增加如下代碼,設(shè)置從公郵里面發(fā)送郵件后

Server = "C***/****r/****"Path = "****\C*****.nsf"Set db = s.GetDataBase(Server, Path) View Code

郵件確實(shí)是從公郵發(fā)送出來,但是很遺憾,郵件發(fā)送人那顯示的是我的個(gè)人郵箱,而查看我個(gè)人的已發(fā)送郵件,是完全查不到,但是在公郵已發(fā)送郵件可以看到

這就無法理解了,于是開啟了漫長的2天人類大戰(zhàn)反人類Lotus notes戰(zhàn)役

前前后后試過各種VBA代碼【表問為什么不直接調(diào)接口】

但要不就是能顯示為公郵發(fā)送的,但郵件 body 不能Html格式,否則就是相反,總之一句話:二者不可兼得

期間看遍國內(nèi)外關(guān)于Lotus notes VBA的網(wǎng)站

最后,實(shí)在是忍不了了,開始搜索Python,C#

一直猶猶豫豫沒有寫是因?yàn)橥赂嬖V我,比如使用C#就需要郵箱密碼,而這個(gè)東西我們沒有也不會(huì)有的

最后的最后,決定賭一把,我先用C#,直接寫出來,等報(bào)錯(cuò)提示密碼沒有的時(shí)候我再想辦法

于是戰(zhàn)戰(zhàn)兢兢有了以下代碼

/// <summary>/// 通過notes發(fā)送郵件/// </summary>/// <param name="mailTo">實(shí)時(shí)數(shù)據(jù)庫</param>/// <returns></returns>public static void SendForNotes(){string notesPwd = "";string notesServer = "C***3/C***/***r/***C";string NotesDBName = @"M**l\C***to.nsf";string mailTo = "m****o@c**.***.com";string mailSubject = DateTime.Now.ToString();string mailBoby = "<html><body><table border='1'><tr><th>Month</th><th>Savings</th></tr><tr><td>January</td><td>$100</td></tr></table></body></html>";NotesSession ns;NotesDatabase db;NotesDocument doc;try{ns = new NotesSession();if (ns != null){//您本機(jī)notes的密碼ns.Initialize(notesPwd);//初始化NotesDatabasedb = ns.GetDatabase(notesServer, NotesDBName, false);doc = db.CreateDocument();doc.ReplaceItemValue("Form", "Memo");doc.ReplaceItemValue("SendTo", mailTo);doc.ReplaceItemValue("Subject", mailSubject.Replace('\r', ' ').Replace('\n', ' '));doc.AppendItemValue("Principal", "C******m");//設(shè)置郵件的發(fā)件人昵稱NotesRichTextItem rt = doc.CreateRichTextItem("Body");var richStyle = ns.CreateRichTextStyle();richStyle.PassThruHTML = 1;rt.AppendStyle(richStyle);rt.AppendText(mailBoby);//發(fā)送郵件 object obj = doc.GetItemValue("SendTo");doc.Send(false, ref obj);doc = null;}}catch (Exception ex){// Log.CreateLog(ex.Message);}finally{ns = null;db = null;doc = null;}} View Code

抱著必死的心態(tài)小心翼翼的點(diǎn)擊了調(diào)試

WTF!!!!

居然收到一封有郵件!沒有密碼啊!不需要密碼嗎!密碼不用也能發(fā)送!!!

再試了一次后,發(fā)現(xiàn)真的不需要!!!

因?yàn)槲覀兠刻扉_機(jī)打開notes的時(shí)候也不需要輸入密碼!!!這可能是和本機(jī)的ID文件有綁定!!!在畢業(yè)后的第一家公司中是需要輸入密碼的!

于是欣喜若狂

開始修改代碼

最終版本

/// <summary>/// 通過notes發(fā)送郵件/// </summary>/// <param name="mailTo">實(shí)時(shí)數(shù)據(jù)庫/lysh</param>/// <returns></returns>public static void SendForNotes2(){string notesPwd = "";string notesServer = "C****3/**/S***/****";string NotesDBName = @"****\******.nsf";string mailTo = "****t**@***.com";string mailSubject = DateTime.Now.ToString();string mailBoby = "<html><body><table border='1'><tr><th>Month</th><th>Savings</th></tr><tr><td>January</td><td>$100</td></tr></table></body></html>";NotesSession ns;NotesDatabase db;NotesDocument doc;try{ns = new NotesSession();if (ns != null){//您本機(jī)notes的密碼ns.Initialize(notesPwd);//初始化NotesDatabasedb = ns.GetDatabase(notesServer, NotesDBName, false);doc = db.CreateDocument();doc.ReplaceItemValue("Form", "Memo");doc.ReplaceItemValue("SendTo", mailTo);doc.ReplaceItemValue("Subject", mailSubject.Replace('\r', ' ').Replace('\n', ' ')); doc.SaveMessageOnSend = true;NotesStream HtmlBody = ns.CreateStream();HtmlBody.WriteText(mailBoby);//構(gòu)建HTML郵件,可以在頭和尾添加公司的logo和系統(tǒng)提醒語NotesMIMEEntity mine = doc.CreateMIMEEntity("Body");//構(gòu)建郵件正文mine.SetContentFromText(HtmlBody, "text/html;charset=UTF-8", Domino.MIME_ENCODING.ENC_IDENTITY_BINARY);doc.AppendItemValue("Principal", "C**********am");//設(shè)置郵件的發(fā)件人昵稱//發(fā)送郵件 object obj = doc.GetItemValue("SendTo");doc.Send(false, ref obj);doc = null;}}catch (Exception ex){// Log.CreateLog(ex.Message);}finally{ns = null;db = null;doc = null;}} View Code

期間還遇到

由于這句代碼放置的位置不對(duì),導(dǎo)致顯示不正確

doc.AppendItemValue("Principal", "C**********am");//設(shè)置郵件的發(fā)件人昵稱

?

最終突破的那一刻心情真的很爽,雖然到到現(xiàn)在仍然不知道不要密碼的原因,但總歸解決了困惑兩天的問題,不敢獨(dú)享

有時(shí)候就是聽別人說,這條路走不通,就不走了

有時(shí)候就是聽別人說,已經(jīng)封裝好了,直接調(diào)吧,就調(diào)了而不知如何實(shí)現(xiàn)

有時(shí)候就是抄作業(yè),以為自己會(huì)了,于是真真用的時(shí)候就不知道了

?

年前終于開始不那么忙了,欠了那么多,該慢慢補(bǔ)回來了

?

轉(zhuǎn)載于:https://www.cnblogs.com/LionelMessi/p/8447879.html

總結(jié)

以上是生活随笔為你收集整理的C# 使用 Lotus notes 公共邮箱发送邮件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲高清网 | 日本少妇久久久 | 亚洲成人网页 | 亚洲综合另类小说 | 久久视频在线免费观看 | 男女午夜激情视频 | 91中文字幕在线视频 | 亚洲色图图| 好妞色妞国产在线视频 | 欧美,日韩,国产精品免费观看 | 国产一区二区三区在线免费 | 一区二区美女 | 熟妇五十路六十路息与子 | 亚洲综合久久av | 亚洲午夜在线播放 | 五月天堂婷婷 | 欧美熟妇一区二区 | 日韩精品视频中文字幕 | 国产女人高潮时对白 | 欧美激情在线 | 国产欧美一区二区精品性色 | 欧美国产日本在线 | 三级久久久 | 欧美午夜网站 | h片大全| 午夜国产福利视频 | 欧洲一区二区在线 | 一本到久久 | 丰满岳跪趴高撅肥臀尤物在线观看 | 国产av第一区 | 99激情网| 日本xxxxxwwwww | 99免费精品视频 | 免费人成又黄又爽又色 | jizz日本免费 | 久久伊人成人网 | 国产三级在线观看完整版 | 久操视频免费在线观看 | 欧美人体一区二区三区 | 日本www免费 | 天堂一二三区 | 波多野结衣欧美 | 天堂av在线免费 | 精品在线视频一区二区 | 国产成人精品一区二区三区 | 天天操狠狠操 | 四虎5151久久欧美毛片 | 美国一级大黄一片免费中文 | 国产女18毛片多18精品 | 中文字幕在线一区 | 狠狠干成人 | 成人在线直播 | 天天摸天天干 | 久久精品导航 | 国产精品乱码妇女bbbb | 亚洲av乱码一区二区 | 亚洲精品免费在线视频 | 在线视频97| 手机在线看永久av片免费 | 免费视频亚洲 | 后进极品美女白嫩翘臀 | 日韩aa| 成人综合激情网 | 男男野外做爰全过程69 | 偷偷操不一样的99 | 日日碰 | 99爱在线视频 | 91老师片黄在线观看 | 亚洲无人区码一码二码三码 | 91精品国产高清 | 久久国产精品综合 | 懂色视频在线观看 | 翔田千里一区二区三区av | 欧美极品一区二区三区 | 男生和女生一起差差差很痛的视频 | 尤物国产 | 狠狠爱综合网 | 久久高清毛片 | 丁香花在线影院观看在线播放 | 日韩精品免费一区二区三区 | 国产精品18 | 亚洲日本中文字幕 | 91狠狠 | 打屁股调教视频 | 午夜综合 | 波多在线视频 | 蜜桃臀aⅴ精品一区二区三区 | 在线观看av的网站 | 国产最新毛片 | 日本韩国免费观看 | 一区二区日韩欧美 | 99黄色 | 久久久性 | 原创露脸88av| 国模福利视频 | 奇米影视第四色首页 | 久久久久久激情 | 蜜桃视频在线观看一区二区 | 日韩91在线|