» Utilizator
Salut, vizitatorule!

SkullBox este o comunitate formata din programatori si administratori de sisteme sau retele care iti sta la dispozitie cand ai o problema legata de calculatoare. Daca esti un utilizator existent, autentifica-te.

Daca nu te-ai inregistrat inca pe forum, alatura-te noua astfel marind comunitatea si ajutandu-i pe cei care au nevoie de informatii.

Daca te-ai inregistrat dar inca nu ai primit codul de activare, il poti cere aici.




Autentifica-te cu numele de utilizator si parola pentru a putea posta pe forum sau pentru a accesa ariile disponibile doar utilizatorilor inregistrati.
» Promovam
» Parteneri » Statistici
  • 59778 de mesaje.
  • 7153 de topicuri.
  • 1005 de utilizatori.
  •  
  • Orricslep e ultimul utilizator inregistrat.
[Detalii]

 
SkullBox Forum  |  Development  |  AutoIt  |  Topic: Send e-mail
Pagini: [1]
Print
Send e-mail [1311 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: 1385
OnlineOnline

WWW

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
Incepator in C
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: 40
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: 737
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: 40
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: 737
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: 40
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: 3333
OfflineOffline

WWW

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

Document my code? Why do you think it's called "code"?

To think is to differ - Clarence Darrow
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: 31
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: 31
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 ::
Reclama
VIP

Hosting

Mesaje: 25.90
OnlineOnline

WWW
 

   Pe ABCDomenii: 250MB spatiu + 20GB trafic + 5 subdomenii = 0.95 €
 
 

The problem with troubleshooting is that trouble shoots back.
Azi 
Pages: [1]
Print
SkullBox Forum  |  Development  |  AutoIt  |  Topic: Send e-mail
Jump to: