Libreria o componente per l'invio delle mail utilizzando Visual Basic ...

giovedì 30 ottobre 2008 - 17.18

DOJ Profilo | Newbie

Ciao a tutti.

Sono alla ricerca di un programmino, una libreria o un componente che mi permetta di mandare delle mail CON ALLEGATI da Visual Basic 6.

Fino ad ora ho utilizzato kmail. Per funzionare funziona ma ho bisogno di due cose in più:

1. La possibilità di inviare una mail a più destinatari, senza dover mandare più mail singole come succede ora nel kmail.
2. Evitare che ad ogni invio mail venga visualizzato un messaggio che mi chiede la conferma dell'invio del messaggio. Praticamente la parte di codice che serve ad inviare la mail è integrata in un altro frammento di codice, il quale crea dei file (pdf, txt, etc.) dopo aver compiuto delle elaborazioni di dati e li allega ad una mail. Attualmente con kmail quando arrivo nel punto indicato il programma chiede sempre una conferma per inviare il messaggio, ma io voglio che la mail parta direttamente senza alcuna conferma.

Mi sapete indicare qualcosa?

A disposizione per qualsiasi chiarimento.

Grazie a tutti.

Ciao e Buona Giornata.

DOJ

Dainesi Profilo | Senior Member

Outlook espone un interfaccia di programmazione ad oggetti perfettamente manipolabile da VB6.
Se non fosse di tuo gusto c'è la libreria CDONT su Windows Server.

DOJ Profilo | Newbie

Ciao.

A grandi linee direi che non è ciò che mi interessa.

Mi spiego meglio scendendo più nel particolare.

Ciò di cui ho bisogno è un programma, una libreria o qualsiasi cosa che mi permetta, tramite Visual Basic 6, di:

1. Inviare mail con allegato.
2. Salvare il messaggio nella cartella "Posta Inviata" di Outlook Express.
3. Evitare che ad ogni invio mail venga visualizzata una conferma per l'invio del messaggio.
4. Inviare un messaggio a più destinatari (attualmente sto utilizzando KMAIL il quale mi permette l'invio di una mail ad un singolo destinatario.

Chiedo scusa se non ho specificato tutto appena ho aperto il mio Thread.

A disposizione per qualsiasi chiarimento.

Ciao.

DOJ

Dainesi Profilo | Senior Member

Questo fa al caso tuo ?

Dim objOutlookApp As Outlook.Application
Dim objNameSpace As Outlook.NameSpace
Dim objMail As Outlook.MailItem
Dim oAtt As Outlook.Attachment

'Set the application objects
Set objOutlookApp = Outlook.Application
Set objNameSpace = objOutlookApp.GetNamespace("MAPI")

'Login to Outlook
objNameSpace.Logon

'Set the mail item
Set objMail = objOutlookApp.CreateItem(olMailItem)

'Set properties for the mail item and send mail
With objMail
.BCC = ""
.To = "c.reeze@whitehouse.gov"
.Subject = "Message Sent from Visual Basic"
.Body = "This message was created by automating Outlook from"

.Attachments.Add ("C:\Tray.txt")
.Attachments.Add ("C:\Winzip.log")


.Send
End With

'Logoff NameSpace
objNameSpace.Logoff

'Release objects
Set objMail = Nothing
Set objNameSpace = Nothing
Set objOutlookApp = Nothing

DOJ Profilo | Newbie

Ciao.

Direi che può essere una cosa alquanto interessante.

L'unico piccolo particolare che ti chiedo è: si riesce ad interfacciare tale programma con Outlook Express e non con Outlook?

Comunque grazie mille, già questo codice mi ha un po' chiarito le idee.

DOJ

Dainesi Profilo | Senior Member

In rete ti ho trovato questo. A prima vista sembra ciò di cui hai bisogno.

http://www.it-lang-vb.net/download.asp?file=Archivio/Sorgenti/MailOE.zip&ID=597

DOJ Profilo | Newbie

Ciao Dainesi.

Ho appena dato un'occhiata al programma che mi hai girato e devo dire che effettivamente non è male, ma lascia ancora un problema in sospeso. Infatti non appena mando la mail viene visualizzato il messaggio di conferma di invio del messaggio "Un programma sta tentando di inviare un messaggio...". A questo punto vorrei capire se magari la situazione si può sistemare da qualche opzione di Outlook, perchè il messaggio di richiesta di conferma appare dopo l'istruzione MM.send e quindi, di conseguenza, se escludessi questa istruzione il messaggio non partirebbe.

Aiutooooo (sperando di riuscire a trovare una soluzione ottimale).

Grazie ancora di tutto.

DOJ

DOJ Profilo | Newbie

A posto!!!! Ce l'ho fatta!!!

Ho trovato l'opzione relativa al controllo di eventuali programmi che utilizzano Outlook Express per inviare la posta elettronica e l'ho disabilitata.

Ora quindi posso dire di aver risolto tutti i miei problemi!!!

Grazie mille Dainesi, mi sei stato di grandissimo aiuto!!!

Ciao e Buona Giornata.

DOJ

Dainesi Profilo | Senior Member

Accettare please !


P.S. Dimmi dove hai trovato l'opzione per levare la protezione.

DOJ Profilo | Newbie

Certo!

Per togliere l'opzione devi andare in Strumenti\Opzioni e nella sezione "Protezioni" togliere la spunta dalla voce "Avvisa se altre applicazioni tentano l'invio di posta con l'account in uso".

Ancora Grazie Mille!!!

DOJ

Dainesi Profilo | Senior Member

Sii gentile .... premi "Accetta"

DOJ Profilo | Newbie

Ciao Dainesi!!!

Necessito ancora di un'ultimo aiuto in merito al programma che mi hai passato.

Ti spiego: attualmente il programma è gestito in modo da interfacciarsi con le identità presenti in Outlook Express e per inviare le mail tramite l'account di posta elettronica configurato in tali identità. Io però avrei bisogno di sapere se è possibile modificare il programma in modo da poter inviare le mail da tanti computer ma utilizzando sempre un unico indirizzo di posta.

Mi spiego meglio: l'account di posta che devo utilizzare è configurato su un solo computer, ma l'ideale sarebbe poter utilizzare questo account anche da un computer che non l'ha configurato.

Ho provato a farmi un giro nel codice e a modificare qualche impostazione ma non sono riuscito a venirne a capo.

Riusciresti a darmi una mano?
Se non si riesce non importa, tanto comunque i miei problemi principali li hai già risolti.

Grazie ancora e buona giornata.

DOJ

Dainesi Profilo | Senior Member

Guarda, io in genere preferisco utilizzare CDONT o SMTP di IIS e quindi non utilizzo ciò che ti ho indicato. Però stavo pensando che nulla ti vieta di copiare l'identità sui computer client (in fin dei conti è una cartelle e dei files...)

DOJ Profilo | Newbie

Capisco.

Questa potrebbe essere una buona idea, se non che mi fa sorgere un dubbio: se io copio l'identità su tutti i computer che mi interessano e riesco a far utilizzare tale identità al programma deduco quindi che i messaggi inviati verranno salvati nella cartella "Posta Inviata" dell'identità copiata, e non dell'identità principale utilizzata dall'utente del computer. Correggimi se sbaglio...

DOJ

Dainesi Profilo | Senior Member

Ovvio che se si sfrutta un applicazione Client come Outlook si hanno le limitazioni dell'account utente. Nulla ti vieta però di memorizzare testo e allegati all'interno di un db con tanto di indicazione FROM, TO, CC, BCC, OraInvio, Opzioni e quant'altro. Inoltre potresti sempre inviarti in carboncopy una copia del messaggio uscente ad un indirizzo gestito centralmente dal tuo pc.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5