寻找在特定时间发送邮件的方法。我知道在 Outlook 2010 中如何确保邮件不会在特定时间“之前”发送,但这并不能保证它会在那个时间发送。
我还尝试在 Outlook 中将发送/接收间隔设置为一分钟,但我创建的延迟测试电子邮件仍然停留在发件箱中,超过我设置的“不在此之前发送”时间几分钟。我不知道为什么它还没有发送,而且除非我特意点击发送/接收按钮,否则它似乎不会发送。
因此,我要么需要帮助来了解 Outlook 为何无法自动发送此电子邮件,要么只需要另一种工具即可。我不在乎使用什么,只要它能正常工作就行。
编辑:我刚刚点击了发送/接收按钮,但消息仍然在发件箱中。我反复检查了我设置的延迟时间是否正确。它设置为在 2012 年 4 月 25 日晚上 9:42 之前不发送。现在是晚上 10:02,我不知道如何让这条消息在不消除延迟的情况下发送,这有点违背了目的。
编辑 2:我甚至尝试过取消延迟,但显然这是不可能的,因为每次我取消延迟并保存邮件时,我发现 Outlook 会自动重新添加延迟并将其设置为下午 5:00。所以根本无法发送此邮件。我现在想打 MS Office 团队的脸。
答案1
答案2
如何在 Outlook 2010 或其他邮件客户端中在特定时间(而不仅仅是延迟)发送电子邮件
使用 sendEmail、批处理脚本和 Windows 任务计划程序
另一种方法(在我的答案的底部)是安排批处理脚本按照自定义时间表发送Windows 任务计划程序 与 发电子邮件 应用程序。只需在此处定义您需要发送电子邮件的时间安排即可。
使用批处理脚本准备并安排发送电子邮件
发送电子邮件信息
使用 sendEmail 执行计划批处理脚本
(你应该能够摆脱上述“无 TLS”下载并执行发电子邮件您将使用批处理脚本安排发送电子邮件的应用程序,通过命令行调用它,并使用Windows 任务计划程序—如果您遇到问题或需要使用 TLS 进行身份验证,我将添加一个示例脚本,说明如何通过这种方式进行身份验证(如果需要)。
(当您从提供的链接下载 Zip 文件时,只需将其放在环境变量exe
中的 Windows 目录中(即)或调用它PATH
%SYSTEMROOT%\System32
完整路径明确地(例如"C:\SendEmail\sendEmail.exe"
)。示例批处理脚本逻辑期望它位于PATH
环境变量位置。如果您需要逻辑明确指向它,请告诉我您需要引用的完整路径,exe
我也会以这种方式添加一个示例。)
@ECHO OFF
:SendEmail
SET EMAILSERVER=emailserver.domain.com
SET subject=This is my subject
SET [email protected]
SET [email protected]
SET [email protected]
SET EMAILBODY1=This is my email body paragraph1
SET EMAILBODY2=This is my email body paragraph2
SET Signature=My Name
SENDEMAIL -f %FromAddress% -t %ToAddress% -u %subject% -m "%EMAILBODY1%<br /> <br />%EMAILBODY2%<br /> <br />%Signature%" -s %EMAILSERVER%:25 -o message-content-type=html reply-to=%ReplyAddress%
GOTO :SendEmail
任务计划程序
请参阅此处的答案,了解在安排此作业时应选择哪些选项的完整详细信息Windows 任务计划程序⇒使用任务计划程序作业设置选择的选项
答案3
这是一个已知的错误,在使用 Microsoft Exchange 等服务器时,请参阅在 Outlook 中发送延迟传递邮件时,“发送时间”时间戳信息不正确