更新:实际上,由于遇到这个问题和“有人问过这个”,我寻找了重复项:
它确实回答了这个问题:
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
Run Code Online (Sandbox Code Playgroud)
旧答案,参考微软选择的解释:
为什么要发送主题行为空的邮件?你发送一封带有意图的邮件,主题是总结这一点。将主题行留空会增加垃圾邮件的可信度,因此您的邮件可能会被视为垃圾邮件。
Outlook 被设计为企业级或企业电子邮件客户端,并非专门供个人/家庭使用。如果您收到大量邮件,则通过主题行扫描比通过内容正文更容易确定对每封邮件采取的操作......
值得注意的是:许多用户在发送没有主题行的邮件时遇到问题,因此他们要求 Microsoft 在 Outlook 2010 中实现此行为,您可以请求切换此选项,以便他们可以在下一个服务包中实现它。尝试 Microsoft 客户服务...
| 归档时间: |
|
| 查看次数: |
1866 次 |
| 最近记录: |