» Utilizator
LAMP
» Parteneri» De citit» Recomandari» Taskuri securitate » Statistici
  • 65486 de mesaje.
  • 7732 de topicuri.
  • 1231 de utilizatori.
  •  
  • Kopotosa e ultimul utilizator inregistrat.
[Detalii]

 

SkullBox Forum  |  Development  |  AutoIt  |  Topic: Send e-mail

| |
Pagini: [1]
Print

Send e-mail [1526 afisari]

catalin459



Mesaje: 6
OfflineOffline


In primul rand "La multi ani!" tuturor. Sunt incepator in Autoit si as avea nevoie de o mana de ajutor. Am nevoie de un program care sa transmita un e-mail (Outlook 2007)  in mod automat, o data pe zi atasand un fisier. Deocamdata am reusit sa fac un program care sa trimta mail-uri dar nu stiu cum pun o atasare. Poate ma poate ajuta cineva. Iata si codul:
Code:
Run ("C:\Program Files\Microsoft Office\Office12\Outlook.exe")
WinWaitActive ("Microsoft Outlook")

CreateMailItem()

Func CreateMailItem()
    Local $olMailItem     = 0
    Local $olFormatRichText = 3
    Local $olImportanceLow     = 0
    Local $olImportanceNormal= 1
    Local $olImportanceHigh     = 2

    $oOApp = ObjCreate("Outlook.Application")
    $oOMail = $oOApp.CreateItem($olMailItem)

    With $oOMail
        .To = ("adresa@yahoo.com")
        .Subject = "Subiect"
        .BodyFormat =  $olFormatRichText
        .Importance = $olImportanceHigh
        .Body = "Test de email cu AutoIT"

        .Display
        .Send
    EndWith
EndFunc
Logged
01-01-2009, 12:23 Twitt ::
tercot
*


Mesaje: 1414
OfflineOffline


Incearca acest cod:
Code:
.attachments.add("c:\cale_catre_file.extensie")

dupa
Code:
.Body = "Test de email cu AutoIT"
Logged

"Fii totdeauna cu Dumnezeu, daca vrei ca Dumnezeu sa fie totdeauna cu tine!" Sfantul Ioan Gura de Aur

01-01-2009, 13:03 Twitt ::
catalin459



Mesaje: 6
OfflineOffline


Yes. Functioneaza, multumesc mult.
Logged
01-01-2009, 22:00 Twitt ::
catalin459



Mesaje: 6
OfflineOffline


As dori sa mai inbunatatesc putin. Deci dupa ce face Send/Receive sa se inchida automat Outlook-ul. Evident trebuie tinut cont ca timpul in care Outlook primeste/receptioneaza mesaje este variabil.
Logged
02-01-2009, 17:19 Twitt ::
capy
*


Mesaje: 46
OfflineOffline


Si eu m-am apucat azi sa iau autoit de la 0, am ctit tutorialele de pe acest forum si apoi am studiat toate functiile...anyway, trebuie sa introduci dupa linia:

.Send

Code:
Sleep(10000)
ProcessClose("C:\Program Files\Microsoft Office\Office12\Outlook.exe")

$PID = ProcessExists("Outlook.exe")
If $PID Then ProcessClose($PID)

Sper ca ti-am fost de ajutor ^^.
Succes!
Logged

18-01-2009, 19:22 Twitt ::
astan
*


Mesaje: 773
OfflineOffline


Terminarea unui process este, de obicei, o idee proasta.
Terminarea unui process ar trebui sa fie ultima solutie la care se apeleaza, nu sa fie folosita cu atata usurinta, de parca ar fi un lucru normal, care nu poate genera nici o problema vreodata.
Logged
18-01-2009, 19:42 Twitt ::
capy
*


Mesaje: 46
OfflineOffline


Terminarea unui process este, de obicei, o idee proasta.
Terminarea unui process ar trebui sa fie ultima solutie la care se apeleaza, nu sa fie folosita cu atata usurinta, de parca ar fi un lucru normal, care nu poate genera nici o problema vreodata.

Esti critic? A vrut sa stie cum se incheie un proces iar eu i-am raspuns.
Spunele celor de la AutoIt Team ca a fost o idee proasta ca au facut codul asta, asta te arde pe tine ca foloseste el cu atata usurinta codul de incheiere proces. 
Logged

18-01-2009, 20:01 Twitt ::
astan
*


Mesaje: 773
OfflineOffline


^Da, sunt critic cu cei care au tendinta sa foloseasca notiunui de care nu au habar.
Stii de ce ? Pentru ca imi permit si pentru ca pot ...  Laughing
Si nu mai folosi expresii precum "te arde pe tine", mai baiete, ca nu cred ca avem aceeasi varsta.
A, si vezi ca tu acolo termini un proces din alt proces. Pe dedesupt se apeleaza functia TerminateProcess() din Winapi si, evident, nu sunt notificate DLL-urile incarcate de procesul pe care il termini si nu se proceseaza DLL_PROCESS_DETACH din entry point-ul respectivelor DLL-uri.
Logged
19-01-2009, 05:36 Twitt ::
capy
*


Mesaje: 46
OfflineOffline


Daca "iti permiti si poti" trebuia sa-i raspunzi la intrebare ,am spus clar sus ca am luato de la 0 (Z E R O),la ce te astepti sa stiu dupa 5 ore de studiat autoit?
 

Ps: Prin "Stii de ce ? Pentru ca imi permit si pentru ca pot ..." ai dat multe de inteles.
Logged

19-01-2009, 10:12 Twitt ::
DarkByte



Mesaje:

Calmati-va, amandoi. Astan a specificat ca nu e o idee proasta, nu trebuie sa o iei personal. E programator cu experienta si stie ce zice.

Mai bine ai tine minte ce ti-a spus si, daca ai nelamuriri, sa-l intrebi.

Nu vad pentru ce un sfat trebuie urmat neaparat de o discutie aiurea. Daca nu esti de acord ca terminarea unui proces e o idee proasta, adu argumente, nu incepeti sa va certati.
Logged
19-01-2009, 10:34 Twitt ::
catalin459



Mesaje: 6
OfflineOffline


Desi nu este o solutie ortodoxa cea ce propune capy rezolva problema (multumesc). Momentan nu am gasit nimic altceva care sa  "stie " ca Outlook a transmis cu succes mesajul si apoi sa termine procesul intr-un mod mai elegant.
Logged
23-01-2009, 14:59 Twitt ::
afh
*


Mesaje: 35
OfflineOffline


Încearcă aşa:

$oOut = ObjGet("", "Outlook.Application") ;dacă outlookul rulează deja

if $oOut = 0 then $oOut = ObjCreate("Outlook.Application"); dacă nu rulează
(ar trebui să meargă şi cu if @error then)

;codul tău...

$oOut.quit

S-ar putea să trebuiască să fii atent la setările de acces programatic. Eu la serviciu sunt într-un domeniu şi nu pot umbla la setările astea, iar ca să pot trimite automat un meil cu outlook trebuie să am starea antivirusului "valid". E interesant că dacă antivirusul (kasperski) nu e actualizat, deşi  este el rulează, outlookul zice că starea e "nevalidă" şi îmi cere confirmarea trimiterii meilului.

Încă o precizare: şi eu sunt începător...


Logged
06-02-2009, 18:47 Twitt ::
afh
*


Mesaje: 35
OfflineOffline


n-am apucat să mă uit, dar pare interesant

http://www.autoitscript.com/forum/index.php?showtopic=89321&st=0&start=0
Logged
09-03-2009, 19:52 Twitt ::
Pagini: [1]
Print
SkullBox Forum  |  Development  |  AutoIt  |  Topic: Send e-mail