- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
从我的 previous question 开始,如果我设置 MimeMessage
的正文,附件、正文部分和所有详细信息都会被删除。我该如何解决这个问题?
foreach (MimeKit.MimeEntity bodyPart in tnefMessage.BodyParts)
{
if (!bodyPart.IsAttachment)
{
using (MemoryStream ms = new MemoryStream())
{
bodyPart.WriteTo(ms);
ms.Flush();
ms.Position = 0;
using (StreamReader sr = new StreamReader(ms))
{
//Read in the contents until we get to the rtf
string line;
while (!(line = sr.ReadLine()).StartsWith("{") && !line.StartsWith("\\")) { }
tnefMessage.Body = new MimeKit.TextPart("plain")
{
Text = RTFToText($"{line}{sr.ReadToEnd()}")
};
}
}
}
}
static string RTFToText(string rtf)
{
string text = string.Empty;
System.Threading.Thread thread = new System.Threading.Thread(() =>
{
using (System.Windows.Forms.RichTextBox rtb = new System.Windows.Forms.RichTextBox())
{
rtb.Rtf = rtf;
text = rtb.Text;
}
});
thread.SetApartmentState(System.Threading.ApartmentState.STA);
thread.Start();
thread.Join();
return text;
}
最佳答案
这是因为你将正文设置为仅html,你需要将其设置为混合并重新添加附件:
Multipart multipart = new Multipart("mixed");
multipart.Add(new MimeKit.TextPart("plain")
{
Text = RTFToText($"{line}{sr.ReadToEnd()}")
});
foreach (MimeEntity attachment in tnefMessage.Attachments)
{
multipart.Add(attachment);
}
tnefMessage.Body = multipart;
关于c# - 设置 mimemessage 的正文会删除其他细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42143144/
我继承的代码库正在打印电子邮件正文中的一些标题信息。这是正在打印的内容: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Co
所以我有一个电子邮件模板,可以完美地发送没有附件的表单。一直在尝试将附件(从临时存储在文件夹中的服务器中获取它们)添加到要通过电子邮件发送的表单中。 我正在使用 Mail.java 类、emailSe
大家好...我希望有人能给我一些关于我遇到的问题的线索。 阅读 MimeMessage 的 getInputStream() 的 Javadoc,它说“返回此消息内容的已解码输入流”然而,这不是我所经
在我的服务器中,我不断收到来自 gmail 的电子邮件。 我以 MimeMessage 类型接收它们。 我目前所做的是使用以下方法提取正文文本: private String getText(Part
如何在java中使用String创建MimeMessage对象 MimeMultipart multiPart = new MimeMultipart(); 并且需要从字符串对象设置内容 最佳答案 此
我一直在寻找和尝试这个,所以我需要你的帮助。我有一个接收 HTML 电子邮件的服务器。之后,我想获取它的各个部分(标题、主题和正文部分)。获取标题和主题没有问题,但内容却有问题。 这是我获取 Smtp
我在编译应用程序时遇到问题,错误是:不兼容的类型:void 无法转换为 javax.mail.internet.MimeMessage 它出现在这部分代码中: getEmailService().pa
使用javax.mail.*时,我尝试发送一条消息,其内容同时以text/plain和text/html<编码。如何将两种编码添加到 MimeMessage 中? setText 是否会覆盖之前的文本
收到错误“方法尚未实现 mimemessage” 尝试发送电子邮件时 protected static void addAtachments(String[] attachments, Mult
我有一个关于邮件发送的项目并且工作没有问题,但我创建了另一个关于邮件发送的项目,生成的 MimeMessage 无法在第一个项目中解析。 我研究了这些类,发现 MimeMessage 的 header
我对 MIME 消息的内容类型感到困惑。假设我有一条 MIME 消息。这是一个多部分的消息,正文部分是这样的 包含纯文本、html 文本的 Mime 正文部分(如一些字母粗体) 第二个包含附件的 mi
我想实际验证消息上设置的字段,如正文、主题、发件人等……我也尝试过做一个参数捕捉器,但没有用,当我调试代码时,消息是获取 javaMailSender.send(message) 行时始终显示空字段。
try ( FileInputStream input = new FileInputStream(source); FileOutputStream
这是Mail类的代码(里面有一个main,但原因很简单,这样解决这个问题似乎很简单): import javax.mail.Message; import javax.mail.MessagingEx
由于包含 m.saveChanges(),以下测试执行大约需要 5 秒。 import org.junit.Before; import org.junit.Test; import javax
我正在阅读这样的 Mime 消息: InputStream is = new FileInputStream("c:\\Temp\\test.eml");
我正在从本地磁盘读取 eml 文件: InputStream is = new FileInputStream(body_path); MimeMessage message = new MimeMe
我用谷歌搜索了一下,看起来设置电子邮件返回路径的标准方法(以便退回到与发件人不同的地址)是通过 Properties 对象,如下所示: Properties prop = new Properties
从我的 previous question 开始,如果我设置 MimeMessage 的正文,附件、正文部分和所有详细信息都会被删除。我该如何解决这个问题? foreach (MimeKit.Mime
我有一个电子邮件原始来源的文本文件(直接从 gmail 复制,如果您单击“查看原始文件”,您会看到它)。我想读入此文件并将其转换为 MimeMessage。 如果您对原因感到好奇,我已经设置了 Jav
我是一名优秀的程序员,十分优秀!