-1

フォルダーの内容を添付ファイルとしてメールに送信する vbscript がありますが、コンピューターによって Windows パスが異なるため、Windows フォルダーのパスを指定できないという問題があります。

私のコードでは、次のように動作します

Const PATH = "C:\windows\Folder1\"

ただし、マシンごとにパスが異なるためです。私はフォローしようとしましたが、成功しませんでした

Const PATH = "%windows%\Folder1\"

ここに完全なvbscriptコードがあります

Const cdoSendUsingPickup = 1 'Send message using the local SMTP service pickup directory.
Const cdoSendUsingPort = 2 'Send the message using the network (SMTP over the network).

Const cdoAnonymous = 0 'Do not authenticate
Const cdoBasic = 1 'basic (clear-text) authentication
Const cdoNTLM = 2 'NTLM


Set objMessage = CreateObject("CDO.Message")
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFolder
Dim oFile
Dim oFiles
Const PATH = "%windows%\Folder\" 'This method not working!!!!! 
Set oFolder = fso.GetFolder(PATH)
Set oFiles= oFolder.files
objMessage.Subject = "This is the email subject"
objMessage.From = "mailSender@MyMail.com"
objMessage.To = ""
objMessage.TextBody = "This is the body of the email. I’m fairly unoriginal"
For Each oFile in oFolder.files
objMessage.AddAttachment PATH & oFile.name
Next
'==This section will provide the configuration information for the remote SMTP server.
'==End remote SMTP server configuration section==

objMessage.Send

リモートSMTPサーバーの構成情報があれば、コードは完全に機能します。

このスクリプトでウィンドウ、プログラム ファイル、デスクトップ (特別なフォルダ) を指定するにはどうすればよいですか??

4

3 に答える 3

-1

あなたの目的が添付ファイル付きの電子メールを送信することである場合は? 次の例を使用します。

Public Shared Function SendMail(strFrom As String, strTo As String, strSubject As String, strMsg As String) As Boolean
Try
    ' Create the mail message
    Dim objMailMsg As New MailMessage(strFrom, strTo)

    objMailMsg.BodyEncoding = Encoding.UTF8
    objMailMsg.Subject = strSubject
    objMailMsg.Body = strMsg
    Dim at As New Attachment(Server.MapPath("~/Uploaded/txt.doc"))
    objMailMsg.Attachments.Add(at)
    objMailMsg.Priority = MailPriority.High
    objMailMsg.IsBodyHtml = True

    'prepare to send mail via SMTP transport
    Dim objSMTPClient As New SmtpClient()
    objSMTPClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis
    objSMTPClient.Send(objMailMsg)
    Return True
Catch ex As Exception
    Throw ex
End Try

終了機能

または

フォルダーの場所を使用してファイルを添付する場合。まず、ファイルの場所として c:\windows\folder1 を使用しません。このフォルダにはすべてのクライアント システム ファイルが含まれているため、セキュリティ上の問題が発生する可能性があります。

次のコードを挿入します: あなたのコード

\\ Const PATH = "%windows%\Folder\" 'This method not working!!!!! 
\\ Set oFolder = fso.GetFolder(PATH)

以下を使用します

string PATH = My.Computer.FileSystem.SpecialDirectories.MyDocuments 

文字列「C:\Users\Owner\Documents」を返します。ここで、上記のコードで新しいフォルダーを追加できます。この & "\" & "Folder1" のような連結を使用します

これが役立つことを願っています...

于 2013-10-17T12:37:31.457 に答える