LibreOffice SimpleCommandMail的标题、正文及附件逗号处理是否存在Bug?
关于LibreOffice Basic中SimpleCommandMail的逗号截断问题
核心结论
这种行为并非预期设计,属于LibreOffice的Bug,目前没有官方文档提及的格式处理方式(比如用引号包裹字符串)可以规避该问题。
问题具体表现
使用SimpleCommandMail调用系统默认邮件客户端时,仅setRecipient()方法用逗号分隔多个收件人是合理设计,但标题、正文、附件字段被错误套用了相同的逗号拆分逻辑:
- 标题或正文包含逗号时,内容会在逗号位置被截断
- 附件文件名含逗号时,会被拆分为多个不存在的文件条目(例如
Hello, world.docx会被拆成Hello和world.docx)
示例代码(保留原注释)
eMailer = createUnoService("com.sun.star.system.SimpleCommandMail") eMailClient = eMailer.querySimpleMailClient() eMessage = eMailClient.createSimpleMailMessage() eMessage.setRecipient("someone@mail.com,somebody@mail.com") eMessage.setSubject("Some subject") 'no commas in subject! eMessage.body = "Some Text" 'no commas in body! eMessage.setAttachement(array(file1, file2)) 'no commas in file names! eMailClient.sendSimpleMailMessage(eMessage, 0)
后续建议
既然你已经完成了相关调研(查阅LibreOffice API、验证讨论),可以直接向LibreOffice官方提交Bug报告,报告中需明确说明:
- 仅收件人字段适合用逗号作为分隔符
- 标题、正文、附件字段的逗号拆分逻辑属于错误实现,破坏了正常内容的传递
内容的提问来源于stack exchange,提问作者Mike KMB
相关产品推荐
相关产品推荐

