Muszę wysłać bardzo prosty e-mail z tylko tekstem do kilku odbiorców, ale otrzymuję błąd.

Nie mam serwera SMTP, aby wysłać e-maile, ale mam program Outlook i jestem zalogowany za pośrednictwem aplikacji Desktop.

Oto skrypt do tej pory:

Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
objMail.Display 

objMail.to = "recipient@whatever.com"
objMail.Subject = "Test"
objMail.Body = "test"

objMail.Send

objOutlook.Quit

Set objMail = Nothing
Set objOutlook = Nothing

Po uruchomieniu skryptu WSH daje błąd

line: 10 
char:  1 
error: Operation Aborted 
source: (null)

To jest linia objMail.Send.

A moje prognozy pojawia się z właściwym odbiorcą / tematem / ciałem, ale nie wysyła. Nie mogę znaleźć niczego związanego z tym problemem lub pracą oprócz korzystania z serwera SMTP, który o ile wiem, nie mogę zrobić.

2
Ausche 16 luty 2017, 19:13

2 odpowiedzi

Najlepsza odpowiedź

Mam zdefiniowaną funkcję iw codziennym użytkowaniu, który akceptuje różne elementy do tworzenia i wysyłania wiadomości e-mail. Pamiętaj, czy musisz utworzyć instancję Outlook, musisz zalogować się za pomocą odpowiedniego profilu poczty, aby wysłać wszystko. Profil, którego tutaj używamy, jest właśnie nazywany "Outlook". Sprawdź, co twój jest wywoływany i zawierają rzeczy Namespace.

Dim sComputer : sComputer = "." ' selects local machine
Dim oWMIService : Set oWMIService = GetObject("winmgmts:\\" & sComputer & "\root\cimv2")
Dim colItems : Set colItems = oWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'outlook.exe'")
Dim oOutlook : Set oOutlook = CreateObject("Outlook.Application")
Dim oNamespace : Set oNamespace = oOutlook.GetNamespace("MAPI")
If colItems.Count = 0 Then
    LOG_Write "Outlook isn't open, logging onto it..."
    oNamespace.Logon "Outlook",,False,True ' name of Outlook profile
    bOpenedOutlook = True
End If
Dim oFolder : Set oFolder = oNamespace.GetDefaultFolder(olFolderInbox)
oFolder.Display ' Make Outlook visible
1
Dave 16 luty 2017, 18:36

Oto podstawowy e-mail VBScript

' For Example...
Email_List = "0m3r@Email.com;"

Set App = CreateObject("Outlook.Application")
Set Mail = App.CreateItem(0)

With Mail
    .To = Email_List
    .CC = ""
    .BCC = ""
    .Subject = "Hello World"
    .HTMLBody = "Bla Bla!!!"
    '.Body = strbody
    'You can add a file like this
'                .Attachments.Add (FilePath)

    'use .Send (to send) or .Display (to display the email and edit before sending)
    .Display
    .send
End With

Set Mail = Nothing
Set App = Nothing

Zapisz jest jako name.vbs

0
0m3r 28 luty 2017, 02:40