答案1
更新:实际上,通过对这个问题的讨论和“有人问过这个问题”,我寻找了重复的内容:
如何让 Outlook 2010 不会因为主题行空白而警告我?
它确实回答了这个问题:
Option Explicit
'=========================================================================
' Prevents Outlook® 2010 to display a no-subject warning message
' (c) Peter Marchert - http://www.outlook-stuff.com
' 2010-07-15 Version 1.0.0
' 2010-07-19 Version 1.0.1
'=========================================================================
Private WithEvents colInspectors As Outlook.Inspectors
Private Sub Application_Startup()
'---------------------------------------------------------------------
' Set a reference to all forms
'---------------------------------------------------------------------
Set colInspectors = Outlook.Inspectors
End Sub
Private Sub colInspectors_NewInspector(ByVal Inspector As Inspector)
'---------------------------------------------------------------------
' This code is running if a form (e. g. an e-mail) will be opened
'---------------------------------------------------------------------
Dim objItem As Object
'---------------------------------------------------------------------
' Skip errors
'---------------------------------------------------------------------
On Error GoTo ExitProc
'---------------------------------------------------------------------
' Set a reference to the open item
'---------------------------------------------------------------------
Set objItem = Inspector.CurrentItem
'---------------------------------------------------------------------
' A new item does not have a received time
'---------------------------------------------------------------------
If Year(objItem.ReceivedTime) = 4501 Then
'-----------------------------------------------------------------
' Check if the subject is empty if an e-mail was created by a
' template with predefined subject.
'-----------------------------------------------------------------
If objItem.Subject = "" Then objItem.Subject = " "
End If
ExitProc:
'---------------------------------------------------------------------
' Delete the reference to the form and to the item
'---------------------------------------------------------------------
Set objItem = Nothing
Set Inspector = Nothing
End Sub
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
On Error Resume Next
'---------------------------------------------------------------------
' If the blank still exists it will now be removed (Outlook®
' will this not recognize)
'---------------------------------------------------------------------
Item.Subject = Trim(Item.Subject)
End Sub
Private Sub Application_Quit()
'---------------------------------------------------------------------
' Delete the reference to the forms
'---------------------------------------------------------------------
Set colInspectors = Nothing
End Sub
旧答案,供参考微软选择的解释:
为什么有人会想发送一封主题行空白的邮件?您发送邮件时是有意图的,而邮件主题就是为了概括这一点。主题行空白会增加垃圾邮件可信度,因此您的邮件可能会被视为垃圾邮件。
Outlook 是为商务或公司电子邮件客户端而设计的,并非专为个人/家庭使用而设计。如果您收到大量邮件,则浏览主题行比浏览正文更容易确定对每封邮件采取什么操作...
值得注意的是:许多用户都因发送没有主题行的邮件而感到困扰,因此他们要求 Microsoft 在 Outlook 2010 中实现此行为,您可以请求切换此选项,以便他们可以在下一个服务包中实现它。尝试 Microsoft 客户服务...