2

仕事で多くのオプションを備えた HTA を使用しています。現在、MS Outlook を開かずに HTA から直接電子メールを送信できるページを追加しようとしています。

Outlook 2003 を使用しています。メール送信ページを作成するために、次の 2 つの方法を試しました。

1. Outlook.Application ActiveX オブジェクトの使用 - Outlook 2007 でのみ動作するように見えるため、動作しませんでした。

2. 'mailto:' で簡単な HTML を使用する -簡単なメールを送信するのは問題なく動作していますが、解決できない問題があります。

Outlook では、「サービス メール」と呼ばれる「偽の」アドレスからメールを送信できます(「差出人」フィールドに書き込むだけです)。そのため、顧客は私のメールに返信できません。自分の HTA ページでも実行したいのですが、このオプションは存在しないと思います。

それを行う方法はありますか?おそらく、Outlook 2003 の ActiveX オブジェクトを使用して、そのオブジェクトでそれを行うのでしょうか?

重要: サーバーを持っていないため、クライアント側の言語しか使用できません。

ありがとう、ロテム

4

1 に答える 1

1

電子メールを送信する VBScript で HTA を作成しました。メールサーバーに直接接続します。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

... わかります。

編集:このリクエストは特に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();
于 2010-12-22T23:39:57.490 に答える