Followers 0

# Help me to send email using second account in outlook

## 4 posts in this topic

I know there OutlookEx but I do not know how to use it, here's the problem, let's say I have
recipient@email.com; My subject; My Message; 3
I was intending to send an email to "recipient@email.com" with the subject "My subject" and contains "My Message" by using a 3rd email account (I have multiple email accounts in outlook) I tried using the substitute account _InetMail sender by sending keystroke,
ControlClick("[CLASS:rctrl_renwnd32]","", "[CLASS:Button; INSTANCE:2]")

For $n = 1 To$index
Send("{DOWN}")
Next
Send("{ENTER}")

but I think this method is less precise, because I am frustrated with this, I finally tried to use another language, I tried C#, I managed to make a script that can do this, but this would make me trouble because it will make me translate the entire code that I have written in AutoIt to C #, so I'm posting this here hoping someone has a solution to this.

##### Share on other sites

It seems you're making things difficult for yourself by not using water's UDF. Did you look at the examples he provided?

I've tried to use it, but the part that I do not get is, how to send an email with my 2nd 3rd or 4th account

##### Share on other sites

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:

## Create an account

Register a new account

Followers 0

• ### Similar Content

• By ur
We can send mails using SMTP settings in AutoIT.
But is there anyway to read the mails and start the program if we get the mail with the particular subject.

I mean, I have automated a build process and it starts from windows task scheduler my autoit program at morning 3 AM.
If it fails in the middle, it will be sent to the dev team guys with the logs as attachment.
Then I am connecting manually to the remote machine to trigger the task again.
Is there anyway to start this task once I receive a mail with the specific subject like "start the build" automatically.

• By ur
Is there any way to launch an application once I receive an email.
I have an executable created in autoit and I am running it regularly on daily basis using task scheduler on windows.
And sometimes I am running it again manually if someone asks to.
Is there anyway to configure an email so that when I send a mail to that particular email ID then it should launch that exe directly?
• By cag8f
Hi all.  Does AutoIt have any functions/tools (either built-in or user defined) that can help me automate the process of exporting an OST mailbox to a PST file in Microsoft Outlook (2013)?
I know how to carry out the process manually.  At the Microsoft Forums, I have asked if it is possible to do the same via a script, but some have said it is not possible.  It may be possible if I was using Microsoft Exchange, but I am not.
I've seen some posts about an Outlook UDF on this site (here and here), but I don't see any mention of exporting a mailbox.
In my post at the Microsoft Forums, many paid third party applications were suggested.  But for now I would like to pursue the custom scripting route as far as I can.
The ultimate goal of this exercise is to automatically create a weekly backup of my Outlook mailbox for offline storage.

• By zetaimmersion
Hi all.
I am trying to do 2 things but i cannot seem to get any traction on how to read/implement this idea.
Premise: PowerPoint file in C\temp\presentation.pptx that contains on the first slide 2 entries as "<one>" and "<two>" which need to be replaced with "user1" and "user2", then a silent Outlook send mail containing the file with a predefined body and subject.
I narrowed it down to COM objects as the Office does not like intrusive open AutoIt functions. I installed OLE/COM Object Viewer to understand how to create the commands but i am still stuck. So far i am trying to user water's code but i suck
COM object i was originally trying to modify
Dim $oPPT,$oPres $oPPT = ObjCreate("PowerPoint.Application")$oPPT.Visible = True $oPres =$oPPT.Presentations.Read Water's code below (0.1% modified)
#include <File.au3> #include "PowerPoint.au3" #include <misc.au3> Global $sFile = "C:\temp\presentation.pptx" Global$sString2Search = "<username>", $sString2Replace = "Password",$iReplaceOnce = 1, $sFullLogFile = "C:\temp\pptxlog.txt" _ProcessPpt($sFile) Func _ProcessPpt($sFile)$oApp = _PPT_PowerPointApp() Local $bChange = False Local$oInterface = $oApp.Presentations Local$oPresentation = $oInterface.Open($sFile, False, False, False) If @error Then _FileWriteLog($sFullLogFile, "E Error " & @error & " opening File " &$sFile) Return SetError(1, 0, 0) EndIf ;it does not even open my file and from here not sure how to read the text and replace it EndFunc ;==>_ProcessPpt
• By Smigacznr1
I'm writing Outlook pst cleaner and now I'm stuck. Compiled script is crashing with OS crash message. When I tryied to run script from editor it's exiting itself (mabye it's some type of crash?) always when it's processing on 4-rd pst file. Here is my code:
#include <OutlookEX.au3> #include <Date.au3> #include <File.au3> #include <Array.au3> _cleanOutlook("Administrator") _cleanOutlook("Admin") Exit Func _cleanOutlook($user)$foldery = "Wiadomości-śmieci#?SPAM#?Junk E-mail#?Elementy usunięte#?Deleted Items" $tab_folderow = StringSplit($foldery, "#?", 1) $tab_pst = _FileListToArrayRec("c:\users\" &$user, "*.pst", 1+4+8, 1, 0, 2) ;~ _ArrayDisplay($tab_pst) For$d = 1 To UBound($tab_pst) -1 Step +1$outlook = _OL_Open(True) _OL_Close($outlook, True)$outlook = _OL_Open() Local $aStores = _OL_StoreGet($outlook) ;~ _ArrayDisplay($aStores) For$i = 1 to $aStores[0][0] If$aStores[$i][4] = True Then ;~ ConsoleWrite(@CRLF & "zamykam pst 2") _OL_PSTClose($outlook,$aStores[$i][0]) EndIf Next ;~ _OL_PSTAccess($outlook, "C:\Users\Administrator\Desktop\cos.pst") _OL_PSTAccess($outlook, $tab_pst[$d]) ConsoleWrite(@CRLF & $tab_pst[$d]) ;~ $tab_struktury = _OL_FolderTree($outlook, "*", 10) ;~ If @error Then ;~ ContinueLoop ;~ EndIf ;~ _ArrayDisplay($tab_struktury)$tab_ktory_pst = _OL_PSTGet($outlook) ;~ _ArrayDisplay($tab_ktory_pst) For $a = 0 To UBound($tab_ktory_pst) -1 Step +1 If $tab_ktory_pst[$a][2] = $tab_pst[$d] Then ;~ MsgBox(0, "", $tab_ktory_pst[$a][0]) $nazwa_bazy_pst =$tab_ktory_pst[$a][0] EndIf Next ;~ MsgBox(0, "", UBound($tab_folderow)) ;~ _ArrayDisplay($tab_folderow,$tab_pst[$d]) ConsoleWrite(@CRLF & "przed while")$a = 0 While $a < 2 ConsoleWrite(@CRLF & "while 1") For$b = 1 To UBound($tab_folderow) -1 Step +1 ConsoleWrite(@CRLF & "for 1")$tab_struktury = _OL_FolderTree($outlook,$nazwa_bazy_pst) ;~ _ArrayDisplay($tab_struktury,$nazwa_bazy_pst) ;~ $folder = _OL_FolderAccess($outlook, StringTrimLeft($tab_struktury[0], 2) & "\" &$tab_folderow[$b])$folder = _OL_FolderAccess($outlook,$nazwa_bazy_pst & "\" & $tab_folderow[$b]) ;~ ConsoleWrite(@CRLF & "eeee") If @error Then ;~ MsgBox(0, "", "\\" & $nazwa_bazy_pst & "\" &$tab_folderow[$b] & @CRLF & @error) ConsoleWrite(@CRLF & "przechodze do kolejnego " &$b+1) ContinueLoop EndIf ;~ _ArrayDisplay($folder,$nazwa_bazy_pst) ConsoleWrite(@CRLF & $tab_folderow[$b]) If $tab_folderow[$b] = "Deleted Items" Or $tab_folderow[$b] = "Elementy usunięte" Then ConsoleWrite(@CRLF & "usuwam kosze") _OL_FolderDelete($outlook,$folder[1], 1) _OL_FolderDelete($outlook,$folder[1], 2) _OL_FolderDelete($outlook,$folder[1], 3) _OL_FolderDelete($outlook,$folder[1], 4) ;~ _OL_FolderDelete($outlook,$folder[1], 5) EndIf If $a = 0 Then$tab_maile = "" $data_dzis = @YEAR & "/" & @MON & "/" & @MDAY & " 00:00" ;~$data_dzis = "2017/01/31 00:00" $data_szukana = _DateAdd("D", "-3",$data_dzis) $tab_maile = _OL_ItemFind($outlook, $folder[1],$olMail, "[Received]<'" & StringReplace($data_szukana, "/", "-") & "'", "", "", "EntryID", "", 1) If @error Then ContinueLoop EndIf ;~ If UBound($tab_maile) > 1 Then ;~ _ArrayDisplay($tab_maile) ;~ EndIf If UBound($tab_maile) > 1 Then For $c = 1 To UBound($tab_maile) -1 Step +1 ;~ ConsoleWrite(@CRLF & "usuwam stare maile") _OL_ItemDelete($outlook,$tab_maile[$c][0], "", False) Next EndIf EndIf Next$a = $a + 1 WEnd ;~ ConsoleWrite(@CRLF & "pokazuje") ;~$folder[1].Display $olFolderInbox.Display ;~ _OL_PSTClose($outlook, $olFolderInbox) ;~ If @error Then ;~ MsgBox(0, "", @error) ;~ EndIf Local$aStores = _OL_StoreGet($outlook) ;~ _ArrayDisplay($aStores) For $i = 1 to$aStores[0][0] If $aStores[$i][4] = True Then ;~ ConsoleWrite(@CRLF & "zamykam pst 1") _OL_PSTClose($outlook,$aStores[$i][0]) EndIf Next ;_OL_PSTClose($outlook, $folder[1]) _OL_Close($outlook, True) If @error Then MsgBox(0, "", @error) EndIf ConsoleWrite(@CRLF & "zamykam") ProcessWaitClose("outlook.exe", 30) ProcessClose("outlook.exe") Next EndFunc
Outlook and OS is updated. I'm usinn OutlooEX in ver. 1.3.1.0
Any ideas?