9 messaggi dal 19 febbraio 2011
Ciao a tutti. Ho un problema che non riesco a risolvere. Ho disposto un programma con vb.net, usando la classe "System.Net.Mail", con la quale invio le email ai clienti o fornitori. Tutto funziona inviando le email tramite gli account di posta normale: mentre impostando invii tramite posta certificata ricevo un errore di invio posta. Quello che mi lascia maggiormente perplesso è che nel mio pc di casa riesco a farlo funzionare anche con la posta certificata, mentre nei pc dell'ufficio (con SO xp e Wind 7) ricevo l'errore di invio posta. Non riesco proprio a capire. Guardando in giro su internet, consigliano di usare la classe System.Web.Mail: ma come faccio con un progetto windows form.? Comunque ribadisco che a casa, dove ho predisposto il codice funziona usando "System.net.Mail". Vi posto il codice che chiarisce quello che sto facendo:

codice:
Sub SendMail_PEC() 'funziona solo con window 7 sul pc di casa (in ufficio ho installato XP e Windows 7)
Dim htmlCorpo As String = ""
htmlCorpo = txt_corpo.Text
htmlCorpo = htmlCorpo.Replace(metto il grassetto, "<b>" & indirizzo </b>")
Dim posta As New System.Net.Mail.MailMessage
posta.From = New System.Net.Mail.MailAddress(mioIndirizzoDiPosta)
posta.To.Add(destinatarioPosta)
posta.Subject = oggetto....
posta.Priority = Net.Mail.MailPriority.High
posta.IsBodyHtml = True
posta.Body = htmlCorpo ' txt_corpo.Text
posta.Attachments.Add(New System.Net.Mail.Attachment(Documento))
Dim smtp As New System.Net.Mail.SmtpClient("smtps.pec.aruba.it")
smtp.EnableSsl = False (se imposta a true non funziona)
'( se imposto smtp.port = 465: non funziona)
smtp.Credentials = New System.Net.NetworkCredential("mionome", "miapassword")
Try
Me.Cursor = Cursors.WaitCursor
smtp.Send(posta)
MsgBox("Invio Effettuato", MsgBoxStyle.Information, "CONTROLLO INVIO")
Catch ex As Exception
MsgBox(Err.Description)
Finally
Me.Cursor = Cursors.Default
posta.Dispose()
smtp.Dispose()
End Try
End Sub
Qualcuno può aiutarmi? Grazie anticipato.

gerry
75 messaggi dal 24 agosto 2006
Ciao.
La posta "normale" è inviata all'SMTP server via porta 25, quella certificata usa altre porte (8100 o 465, dipende dal provider)
Il firewall del tuo ufficio potrebbe non avere quelle porte aperte. Verifica.

Buon lavoro

Pino Saffioti

"girolamo" <girolamo> ha scritto nel messaggio news:393551@...
Ciao a tutti. Ho un problema che non riesco a risolvere. Ho disposto un programma con vb.net, usando la classe "System.Net.Mail", con la quale invio le email ai clienti o fornitori. Tutto funziona inviando le email tramite gli account di posta normale: mentre impostando invii tramite posta
certificata ricevo un errore di invio posta. Quello che mi lascia maggiormente perplesso è che nel mio pc di casa riesco a farlo funzionare anche con la posta certificata, mentre nei pc dell'ufficio (con SO xp e Wind 7) ricevo l'errore di invio posta. Non riesco proprio a capire. Guardando in giro su internet, consigliano di usare la classe System.Web.Mail: ma come faccio con un progetto windows form.? Comunque ribadisco che a casa, dove ho predisposto il codice funziona usando "System.net.Mail". Vi posto il codice che chiarisce quello che sto facendo:
codice:
Sub SendMail_PEC() 'funziona solo con window 7 sul pc di casa (in ufficio ho installato XP e Windows 7)
Dim htmlCorpo As String = ""
htmlCorpo = txt_corpo.Text
htmlCorpo = htmlCorpo.Replace(metto il grassetto, "*" & indirizzo *")
Dim posta As New System.Net.Mail.MailMessage
posta.From = New System.Net.Mail.MailAddress(mioIndirizzoDiPosta) posta.To.Add(destinatarioPosta)
posta.Subject = oggetto....
posta.Priority = Net.Mail.MailPriority.High
posta.IsBodyHtml = True
posta.Body = htmlCorpo ' txt_corpo.Text
posta.Attachments.Add(New System.Net.Mail.Attachment(Documento)) Dim smtp As New System.Net.Mail.SmtpClient("smtps.pec.aruba.it") smtp.EnableSsl = False (se imposta a true non funziona)
'( se imposto smtp.port = 465: non funziona)
smtp.Credentials = New System.Net.NetworkCredential("mionome", "miapassword")
Try
Me.Cursor = Cursors.WaitCursor
smtp.Send(posta)
MsgBox("Invio Effettuato", MsgBoxStyle.Information, "CONTROLLO INVIO")
Catch ex As Exception
MsgBox(Err.Description)
Finally
Me.Cursor = Cursors.Default
posta.Dispose()
smtp.Dispose()
End Try
End Sub
Qualcuno può aiutarmi? Grazie anticipato.


gerry
9 messaggi dal 19 febbraio 2011
Grazie Pisa per la tua tempestiva collaborazione. Provo a verificare. Grazie ancora. Ciao

gerry
9 messaggi dal 19 febbraio 2011
Pisa scusami se chiedo troppo. Mi potresti aiutare ad predisporre la porta? In ogni caso grazie. Ciao. Girolamo.

gerry
75 messaggi dal 24 agosto 2006
Ciao. Io non faccio il sistemista quindi non saprei darti indicazioni precise. In sintesi, però, si tratta di andare nella configurazione del firewall, e aprire la porta attraverso la quale passa la posta certificata. Sul come fare dipende molto dal router/firewall. Cerca su google il modello del tuo firewall (router) e verifica come si apre la porta che ti interessa. Non è un'operazione difficile. Nel router di casa mia ci vogliono due minuti ma anche in quelli più sofisticati, come quelli che ho in azienda, vedo che i tecnici telecom non ci impiegano di più. Informati anche esattamente su qual'è la porta che dovrai aprire. Se puoi metterci le mani tu prova ad aprire tutte le porte solo per fare una prova di spedizione, se il tuo programma funziona significa che è la porta non aperta che ti impedisce l'invio della email certificata.

Buon lavoro

Pino Saffioti

"girolamo" <girolamo> ha scritto nel messaggio news:393602@...
Pisa scusami se chiedo troppo. Mi potresti aiutare ad predisporre la porta?
In ogni caso grazie. Ciao. Girolamo.


gerry
9 messaggi dal 19 febbraio 2011
Pisa grazie ancora. Infatti non credo dipendi dal firewall di windows ma dal firewall del router.
Se non riesco cerchero' un metodo alternativo. Ciao Girolamo.

gerry

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.