Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: E-Mail in Flash(mX)

  1. #1
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414

    E-Mail in Flash(mX)

    ciao ragazzi!
    ho un piccolo problema,
    sto creando un cd multimediale che sarà pubblicato solo in swf senza essere inserito in un html.
    all'interno ho un collegamento ad un indirizzo e-mail con quest'azione:

    on (release) {
    getURL("mailto:info@ravellofestival.com");
    }

    essa mi funziona (mi apre outlook)solo se inserisco l'swf in un html, ma come ho già spiegato non è quello che voglio.
    come posso risolvere questa situazione?

    chi mi aiuta?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    Esporti l'swf come proiettore (exe).

    Crei un progetto in visual basic in cui inserirai:

    un form:
    codice:
    Private Sub Form_Load()
        RunMail Me, "nome@dominio.it", "Oggetto della mia mail"
        Unload Me
    End Sub
    un modulo:

    codice:
    Public Const ERROR_FILE_NOT_FOUND = 2&
    Public Const ERROR_PATH_NOT_FOUND = 3&
    Public Const ERROR_BAD_FORMAT = 11&
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
      (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
      ByVal lpParameters As String, ByVal lpDirectory As String, _
      ByVal nShowCmd As Long) As Long
    
    
    
    
    
    Public Sub RunMail(oOwner As Object, sEmailAddress As String, Optional sSubject As String, _
      Optional sText As String, Optional eWindowStyle As VbAppWinStyle = vbNormalFocus)
      
    On Error GoTo Errore
    
    Dim sMsg As String, sRunMail As String
    Dim lRet As Long
      
      
      ' costruisco la stringa di invio E-mail
      sRunMail = "mailto:" & Trim(sEmailAddress)
      
      ' SE è stato specificato l'oggetto
      If (sSubject <> Empty) Then
        sRunMail = sRunMail & "?subject=" & sSubject
      End If
      
      ' SE è stato specificato il testo
      If (sText <> Empty) Then
        sRunMail = sRunMail & "&body=" & sText
      End If
      
      ' richiamo l'applicazione predefinita di sistema
      lRet = ShellExecute(oOwner.hwnd, Empty, sRunMail, Empty, Empty, eWindowStyle)
      
      Select Case lRet
        Case 0 ' System out of memory or resources
          sMsg = "Memoria o risorse del sistema esaurite. "
        Case 31 ' No association exists
          sMsg = "Il sistema in uso non presenta alcuna associazione per questo tipo di file. " & vbCr & vbCr
          sMsg = sMsg & "Installare un'applicazione appropriata oppure creare un'associazione. " & vbCr
          sMsg = sMsg & "Per creare un'associazione, selezionare il file sottoindicato. Tenendo " & vbCr
          sMsg = sMsg & "premuto il tasto Shift, cliccare col pulsante destro del mouse sul file. " & vbCr
          sMsg = sMsg & "Selezionare la voce ""Apri con..."" e spuntare la casella ""Utilizza " & vbCr
          sMsg = sMsg & "sempre..."". Selezionare l'applicazione appropriata e scegliere [Ok]. "
        Case ERROR_FILE_NOT_FOUND
          sMsg = "Impossibile trovare il file. "
        Case ERROR_PATH_NOT_FOUND
          sMsg = "Impossibile trovare la cartella. "
        Case ERROR_BAD_FORMAT
          sMsg = "Il formato del file non è valido. "
      ' case > 32 ' On success
      End Select
      
      ' SE si è verificato un errore
      If (sMsg <> Empty) Then
        sMsg = sMsg & vbCr & vbCr
        sMsg = sMsg & "E-mail: '" & Trim(sEmailAddress) & Chr(39) & vbCr
        If (Trim(sSubject) <> Empty) Then
          sMsg = sMsg & "Oggetto: '" & Trim(sSubject) & Chr(39) & vbCr & vbCr
        End If
        MsgBox sMsg, vbCritical, "RunMail: Errore di esecuzione"
        DoEvents
      End If
    
    
    Exit Sub
    Errore:
      sMsg = "[" & Err.Number & "]: " & Err.Description & vbCr & vbCr
      sMsg = sMsg & "E-mail: '" & Trim(sEmailAddress) & Chr(39) & vbCr
      If (Trim(sSubject) <> Empty) Then
        sMsg = sMsg & "Oggetto: '" & Trim(sSubject) & Chr(39) & vbCr & vbCr
      End If
      MsgBox sMsg, vbCritical, "RunMail: Errore di esecuzione"
      DoEvents
    End Sub

    Compili il progetto in un eseguibile.

    Poi da flash usi il comando fscommand per richiamare quell'eseguibile.

    Questo da quel che so è l'unico metodo, se qualcun altro ne conosce un altro più semplice ben venga perchè può interessare anche a me.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    Se ti può interessare l'ho creato per un altro utente che aveva fatto la stessa richiesta. Puoi trovarlo qui:

    http://forum.html.it/forum/showthrea...52#post7658252

  4. #4
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    grazie mille!
    Ma se io ho tanti collegamenti con il mailto nel mio swf(a proposito devo obbligatoriamente pubblicare unexe?)basta elencare l'mail nel file di teso o devo fare tanti file quante sono l'e-mail?

    grazie ancora

  5. #5
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    scusami ancora...
    allora vediamo se ho capito questo testo che mi hai fornito dove lo inserisco?
    con il comando fscommand quale eseguibile devo richiamare?non mi è chiara questa cosa...
    nella mia cartella finale avrò il mio progetto(.exe), il file di testo (quello qui sopra) e poi tu parli di un eseguibile , ma quale?
    scusami per la cocciutaggine

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    Sì, dovresti pubblicare un exe perchè altrimenti fscommand non va.

    In più, se l'utente non dovesse avere installato il flash player gli swf non li vedrebbe, mentre con il proiettore (cha ha le runtimes di flash incorporate) non ci sono problemi.

    Per creare più mail ti ho fatto quest'altro eseguibile:

    mail

    Questo lo metti nella cartella fscommand e il file di testo deve essere nominato uguale.

    Ad esempio per la prima mail chiamerai l'eseguibile "mail1.exe", il file di testo "mail1.txt" e da flash userai fscommand("exec","mail1.exe").

    Per la seconda mail sarà "mail2.exe","mail2.txt",fscommand("exec","mail2.ex e")

    E così via per le diverse mail che hai.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    Nel frattempo hai postato ancora.

    Allora, ricapitolando.

    -Hai il tuo proiettore creato con flash che è un eseguibile (.exe)

    -nella stessa cartella crei la sottocartella "fscommand".

    -nella cartella "fscommand" metterai l'eseguibile a forma di bustina e il file di testo che si chiamano rispettivamente "mail.exe" e "mail.txt".

    -dal proiettore fatto con flash puoi richiamare "mail.exe" col comando
    fscommand("exec","mail.exe").

    -con l'ultimo file che ho creato (sempre "mail.exe" che trovi qui sopra), puoi avere più mail.

  8. #8
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    ti ringrazio per la pazienza , molto gentile...
    ora è tutto chiaro, scusami se ho insistito ma volevo capirlo bene...

    un'ultima domanda

    con cosa hai creato l'eseguibile mail.exe (che se ho capito bene contiene lo script che mi hai dato in principio)?
    grazie ancora

  9. #9

    Soluzione piu stupida ma meno Difficile ^_^

    Il metodo Exec di Fscommand ha parecchie limitazioni (se non si è programmatori esperti di ActionScript). Io x esempio ho constatato che con l'Exec posso aprire file .exe o .bat e solo nella cartella fscommand (sottolivello della root del Proiettore).
    X saltare questo muro di limitazioni, leggendo qua e là ho scoperto ke i Files .BAT sono facilmente costruibili e ke non hanno molti limiti. In Finale ho messo in un file .TXT la seguente stringa @start = Cartella\Cartella\file.QUALSIASI.
    Poi ho cambiato l'estensione da .txt a .bat ed ho messo fscommand ("exec","file.bat");
    In questo modo Apro qualsiasi file e da qualsiasi parte.

    Ma torniamo alla Mail. Ho aperto Outlook, creato nuovo mess, messo la mia mail e oggetto, salvato il file in mail.eml (tipo di file aperto da qualsiasi Software di posta come nuovo messaggio) e poi ho creato solamente il file mail.bat che lo apre. Su Flash ho fatto eseguire il mail.bat. Funziona.. e se ci pensate bene ci apre un mondo..

    Ah non esagerate con il .BAT, siamo Grafici non Hacker!

  10. #10
    poi ci sono anche i programmi tipo swf studio, che creando un proiettore con ulteriori comandi (spesso impartiti con fscommand), al posto di quello di flash, superano motli dei suoi limiti, tra cui l'impossibilità di inviare mail.

    Comunque molto interessanti le due soluzioni proposte da Jumpychan e da AAxxeell.

    Jumpychan: volevo scaricare anch'io il tuo prezioso eseguibile, ma non lo fa più scaricare al link che hai fornito.
    non so se è così solo al momento o se non c'è più il file...saresti così gentile da rimetterlo a disposizione (se puoi)? grazie 1000.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.