Отправить письмо в HTA с помощью JavaScript и скрыть адрес электронной почты отправителя - PullRequest
2 голосов
/ 07 декабря 2010

Я использую HTA на работе со многими опциями, сейчас я пытаюсь добавить страницу, которая позволяет отправлять электронную почту напрямую с HTA, не открывая MS Outlook.

Я используюOutlook 2003. Я попытался создать страницу отправки электронной почты двумя способами:

1.Использование Outlook.Application ActiveX Object - Это не сработало, потому что, похоже, оно работает только с Outlook 2007, поэтому пока я об этом не говорил.

2.Использование простого HTML с «mailto:» - Это нормально работает для отправки простых писем, но у меня есть проблема, которую я не могу решить.

В Outlook я могу отправлять письма отфальшивый адрес под названием Service Mail (я просто пишу его в поле «От»), чтобы клиенты не могли отвечать на мои письма.Я хочу сделать это также на моей странице HTA, но я думаю, что эта опция не существует.

Есть ли способ сделать это?Может быть, с помощью объекта ActiveX для Outlook 2003 и сделать это с этим объектом?

Важно: я могу использовать только языки на стороне клиента, потому что у меня нет сервера.

Спасибо, Rotem

1 Ответ

1 голос
/ 23 декабря 2010

Я сделал HTA в VBScript, который отправляет электронную почту. Он подключается напрямую к почтовому серверу. Вам не нужно устанавливать Outlook (или любой другой почтовый клиент), так что это довольно полезно. Используйте что-то вроде этого:

With CreateObject("CDO.Message")
  .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.server.com"
  .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")  = 2
  .Subject  = "The subject line"
  .To       = "recipient@email.com"
  .From     = "sender@email.com"
  .TextBody = "The body of the email"
  ' or .CreateHTMLbody "page.htm"
  .AddAttachment "C:\path\to\file.txt"
  .Send
End With

... вы поняли.

Edit: только что увидел, что этот запрос был специально для javascript, но это по сути то же самое:

var mailobj = Server.CreateObject("CDO.Message");
mailobj.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.server.com";
mailobj.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")  = 2;
mailobj.Subject  = "The subject line";
mailobj.To       = "recipient@email.com";
mailobj.From     = "sender@email.com";
mailobj.TextBody = "The body of the email";
mailobj.Configuration.Fields.Update();
mailobj.Send();
...