我正在使用System.Diagnostics.Process
启动默认邮件客户端jmap -heap `ps -ef | grep java | grep -v grep | awk '{print $2}'` | grep -i Metaspace
然而,电子邮件正文的内容是中断的一半。它没有显示TextBlockTechnicalError中的所有内容。我怎么能避免这个?
答案 0 :(得分:1)
我认为不可能避免这种情况,因为它会因命令行的最大长度而被切断(大约8k个字符)。
如果您知道所有用户都将使用Outlook作为邮件客户端,则可以尝试使用此方法
public void Mail(string receiver, string subject, string body)
{
Outlook.Application outlook = System.Diagnostics.Process.GetProcessesByName("OUTLOOK").Length > 0
? Marshal.GetActiveObject("Outlook.Application") as Outlook.Application
: new Outlook.Application();
Outlook.MailItem mailItem = outlook.CreateItem(Outlook.OlItemType.olMailItem) as Outlook.MailItem;
if (mailItem == null) throw new Exception("Outlook failed!");
mailItem.To = receiver ?? string.Empty;
mailItem.Subject = subject;
mailItem.Body = body;
mailItem.Display();
}