Skip to main content
 首页 » 编程设计

c#之换行符不会出现在 Notes 的邮件正文中

2024年01月24日57傻小

我是 Notes 新手。 我正在尝试使用带有附件的 Lotus Notes 从我的应用程序发送邮件,邮件正常发送,附件也发送,但问题出在正文内容上,正文失去了格式并成直线

我期望如下

Dear Sir, 
please check the attachment. 
 
 
Regards, 
NewConcept Infotech Pvt.Ltd., 

但它是这样的

Dear Sir,please check the attachment.Regards,NewConcept Infotech Pvt.Ltd., 

我用谷歌搜索了很多但没有用。

这是我的代码

 public bool Email(string dbDirectory, string DataBase_Name, string Initialize_Pwd, string From, string To, string CC, string Bcc, string Subject, string body, string FileName, string LogFilePath) 
        { 
            bool msg = false; 
            dynamic EMailReplyTo = ConfigurationSettings.AppSettings["EMailReplyTo"]; 
            NotesSession objNotesSession = new NotesSession(); 
            NotesDatabase ndb = null; 
            NotesDocument ndoc = null; 
            NotesDbDirectory ndbD = null; 
            NotesStream LNStream; 
            NotesMIMEEntity LNBody; 
            object objAttach; 
            try 
            { 
                ////--------------------Lotus Notes Connectivity-------------------------/// 
                List<string> lstOutPutEmail = new List<string>(); 
                lstOutPutEmail.Add(DataBase_Name); 
                lstOutPutEmail.Add(Initialize_Pwd); 
 
                objNotesSession.Initialize(lstOutPutEmail[1].ToString()); 
                ////  objNotesSession object Initialized 
 
                ndbD = objNotesSession.GetDbDirectory(dbDirectory); 
 
                ndb = objNotesSession.GetDatabase(dbDirectory, DataBase_Name, false); 
 
                //If the database is not already open then open it. 
                if (!ndb.IsOpen) 
                { 
                    ndb.Open(); 
                } 
 
                if (ndb != null) 
                { 
                    ndoc = ndb.CreateDocument(); 
                    LNStream = objNotesSession.CreateStream(); 
                    LNBody = ndoc.CreateMIMEEntity(); 
                    //   ndoc.ReplaceItemValue("SendBy", From); 
                    ndoc.ReplaceItemValue("Form", "Memo"); 
                    ndoc.ReplaceItemValue("From", From); 
                    ndoc.ReplaceItemValue("Principal", From); 
                    ndoc.ReplaceItemValue("SendTo", To.Split(',')); 
                    if (CC != null) 
                    { 
                        if (CC != "") 
                        { 
                            ndoc.ReplaceItemValue("CopyTo", CC.Split(',')); 
                        } 
                    } 
                    if (Bcc != null) 
                    { 
                        if (Bcc != "") 
                        { 
                            ndoc.ReplaceItemValue("BlindCopyTo", Bcc.Split(',')); 
                        } 
                    } 
                    ndoc.ReplaceItemValue("Subject", Subject); 
                    // 
 
                    NotesRichTextItem objMailRTF = ndoc.CreateRichTextItem("Body"); 
 
 
 
                    ndoc.ReplaceItemValue("Body", body); 
 
 
 
                    ndoc.SaveMessageOnSend = true; 
                    if (FileName != "") 
                    { 
                        objAttach = objMailRTF.EmbedObject(Domino.EMBED_TYPE.EMBED_ATTACHMENT, "", FileName, "Attachment"); 
                    } 
                    ndoc.Send(false); 
                    ndbD = null; 
                    objNotesSession = null; 
                    ndb = null; 
                    ndoc = null; 
                    gl.runLogfile("Mail Send Successfuly To : " + To, LogFilePath); 
                } 
                msg = true; 
            } 
            catch (Exception ex) 
            { 
                Console.WriteLine("Error On sending Mail To : " + To); 
                gl.runLogfile("Error On sending Mail To : " + To, LogFilePath); 
                gl.runLogfile(ex.Message, LogFilePath); 
                msg = false; 
            } 
            finally 
            { 
 
            } 
            return msg; 
        } 

请您参考如下方法:

使用 RichTextItem 的方法 AddNewLine()请在您的 Body 字段中添加新行

NotesRichTextItem objMailRTF = ndoc.CreateRichTextItem("Body"); 
objMailRTF.AppendText("Dear Sir,"); 
objMailRTF.AddNewLine(1); 
objMailRTF.AppendText("please check the attachment."); 
objMailRTF.AddNewLine(2); 
... 

删除代码行 ndoc.ReplaceItemValue("Body", body); 否则它将无法工作。