Condividi:        

[Outlook] Invio email se disco pieno?

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Outlook] Invio email se disco pieno?

Postdi cassioli » 23/05/06 08:32

Secondo voi è possibile programmare Outlook per fargli inviare una mail quando lo spazio libero su disco scende sotto un certo livello?... :roll:
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Sponsor
 

Postdi Anthony47 » 23/05/06 10:52

Ciao,
non credo che Outlook sia lo strumento per verificare l' occupazione dischi.
So che in Xp esistono agenti per il controllo di risorse, come pure ne sistono di terze parti, in grado di fare una serie di cose (tra cui inviare mail) all' occorrenza degli eventi trappati.
Bisognerebbe piu' che altro chiedere a chi si occupa di S.O., se non ti arrivano suggerimenti validi prova a postare la domanda li.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19440
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Dylan666 » 23/05/06 12:00

Che non possa essere Outlook a controllare lo spazio su disco è fuori discussione. Bisogna trovare un software che lo faccia, che dia il responso da command-line o su txt e lavorare un po' di batch e/o vb per mandare la mail, tutto qui
Avatar utente
Dylan666
Moderatore
 
Post: 40108
Iscritto il: 18/11/03 16:46

Postdi cassioli » 23/05/06 13:21

Bah.... me lo sono fatto da me, cosi' ho fatto prima! :P

Codice: Seleziona tutto
$include "rapidq2.inc"
DIM Object AS QOLEOBJECT
dim CQ as QOLEOBJECT
dim sys as QSYSTEM
dim IniFile as QFILESTREAM
dim riga as string
Dim mailmsg
   
declare sub SpaceCheck
declare sub SendMail

const DEFAULT_MINIMUM = 1000 ' MB

create MailerForm as Qform
   top = 200
   left = 100
   caption = "Disk-full mail notifier"
     CREATE Mailer AS QOLECONTAINER
      Left = 10
      Top = 10
      Width=50
      Height = 50
      visible=false
     END CREATE
     create ActualFreeLabel as qlabel
        top = 10
        left = 10
        caption = "--"
     end create
     create MinimumFreeLabel as qlabel
        top = 30
        left = 10
        caption = "--"
     end create
end create

ActualFreeSpace = sys.DiskFreeSpace("c:\") ' Get disk free space in MB
result = IniFile.open("diskfull.ini",fmOpenRead)
if result = -1 then
   riga = IniFile.ReadLine
   if instr(riga,"MinimumFreeSpace") then
      MinimumFreeSpace = val(mid$(riga,instr(riga,"=")+1,len(riga)-instr(riga,"=")))
   end if
   IniFile.close
else ' If file does not exist, use default value.
   MinimumFreeSpace = DEFAULT_MINIMUM ' MB
end if

ActualFreeLabel.caption = "Free space available: " & str$(int(ActualFreeSpace)) & " MB"
MinimumFreeLabel.caption = "Minimum space required: " & str$(MinimumFreeSpace) & " MB"
SpaceCheck
'MailerForm.showmodal


sub SpaceCheck
   MailerForm.show
   if ActualFreeSpace<MinimumFreeSpace then
      SendMail
      ShowMessage("Lack space on disk: notification email has been sent.")
   end if
   application.terminate
end sub

sub SendMail
    CQ.CreateObject("PAINET.MAILMSG")
    CQ.AddTo("indirizzo@email")
    CQ.SetBody("Corpo del messaggio")
    CQ.SetSubject("oggetto del messaggio")
    CQ.SetFrom("mittente")
MailResult = CQ.Deliver
end sub


Il linguaggio e' RapidQ (link), e il programma si "aggancia", anziche' a Outlook (che ha una protezione contro l'accesso da programmi esterni) a un altro mailer che ho sul mio PC...

Troppo forte, 'sto RapidQ! E c'e' ancora chi cerca di convincermi che il BASIC è una schifezza e che è molto meglio il C++... :P

IL "cuore" del programma è tutto qui:
Codice: Seleziona tutto
sub SendMail
    CQ.CreateObject("PAINET.MAILMSG")
    CQ.AddTo("indirizzo@email")
    CQ.SetBody("Corpo del messaggio")
    CQ.SetSubject("oggetto del messaggio")
    CQ.SetFrom("mittente")
MailResult = CQ.Deliver



Per usare outlook invece che altro, bisogna usare invece qualcosa di questo tipo...
set out=WScript.CreateObject("Outlook.Application")
set mapi=out.GetNameSpace("MAPI")

set mail=out.CreateItem(0)
mail.Recipients.Add("dest")
mail.Subject = "oggetto"
mail.Body = "corpo"
mail.Attachments.Add ("attachment path")
mail.Send
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02


Torna a Applicazioni Office Windows


Topic correlati a "[Outlook] Invio email se disco pieno?":

Outlook/Hotmail
Autore: valyfilm
Forum: Software Windows
Risposte: 1

Chi c’è in linea

Visitano il forum: Nessuno e 116 ospiti