# Invio fatture tramite PEC Aruba e .NET C#

**URL:** <https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086>\
**Category:** Fatturazione Elettronica\
**Created:** [13 Febbraio 2019, 9:54am UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086 "2019-02-13T09:54:16Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![frankge973](https://forum.italia.it/user_avatar/forum.italia.it/frankge973/32/1571_2.png) [@frankge973](https://forum.italia.it/u/frankge973)\
**Post date:** [13 Febbraio 2019, 9:54am UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/1 "2019-02-13T09:54:16Z")

</div>

ciao, qualcuno è riuscito ad allegare e inviare le fatt. XNML ad un messaggio pec in automatico da C#? io ho usato System.Net.Mail e pareva andare usando questa riga

> SmtpClient smtpClient = new SmtpClient(“smtp”);

senza neppure specificare il server SMTP, ma nel momento che ho cambiato macchina e ho messo l’eseguibile su altra, non va…  
credo che faccia riferimento alla schema Network Settings però non sono riuscito a trovarlo .  
mi aiutate ?  
ho provato anche ad utilizzare System.Web.Mail senza successo

---

<div class="post-metadata">

**Author:** ![genesi](https://forum.italia.it/letter_avatar_proxy/v4/letter/g/53a042/32.png) [@genesi](https://forum.italia.it/u/genesi)\
**Post date:** [13 Febbraio 2019, 9:58am UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/2 "2019-02-13T09:58:21Z")

</div>

Beh, teoricamente cambiando macchina ma restando sempre con lo stesso server smtp, non dovrebbe cambiare nulla (alla fine smtpClient non fa altro che inviare la mail tramite il server di posta in uscita).  
Hai l’errore più specifico? (eventualmente fallo generare su un log e posta il log)

---

<div class="post-metadata">

**Author:** ![frankge973](https://forum.italia.it/user_avatar/forum.italia.it/frankge973/32/1571_2.png) [@frankge973](https://forum.italia.it/u/frankge973)\
**Post date:** [13 Febbraio 2019, 10:34am UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/3 "2019-02-13T10:34:52Z")

</div>

Le informazioni su come richiamare il debug JIT (Just-In-Time) anziché questa finestra  
sono riportate in fondo al messaggio.

\*\*\*\*\*\*\*\*\*\*\*\*\*\* Testo dell’eccezione \*\*\*\*\*\*\*\*\*\*\*\*\*\*  
System.Net.Mail.SmtpException: Errore durante l’invio della posta. —\> System.Net.WebException: Impossibile risolvere il nome remoto.: ‘smtp’  
in System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6)  
in System.Net.PooledStream.Activate(Object owningObject, Boolean async, GeneralAsyncDelegate asyncCallback)  
in System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback)  
in System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout)  
in System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint)  
in System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint)  
in System.Net.Mail.SmtpClient.GetConnection()  
in System.Net.Mail.SmtpClient.Send(MailMessage message)  
— Fine della traccia dello stack dell’eccezione interna —  
in System.Net.Mail.SmtpClient.Send(MailMessage message)  
in Fatturaelettronica.Form1.SendEmail(String oggetto, String mittente, String password, String ricevente)  
in Fatturaelettronica.Form1.button6\_Click(Object sender, EventArgs e)  
in System.Windows.Forms.Control.OnClick(EventArgs e)  
in System.Windows.Forms.Button.OnClick(EventArgs e)  
in System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)  
in System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)  
in System.Windows.Forms.Control.WndProc(Message& m)  
in System.Windows.Forms.ButtonBase.WndProc(Message& m)  
in System.Windows.Forms.Button.WndProc(Message& m)  
in System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)  
in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)  
in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

## \*\*\*\*\*\*\*\*\*\*\*\*\*\* Assembly caricati \*\*\*\*\*\*\*\*\*\*\*\*\*\* mscorlib Versione assembly: 4.0.0.0 Versione Win32: 4.7.2563.0 built by: NET471REL1 Base di codice: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

## Fatturaelettronica Versione assembly: 1.0.0.0 Versione Win32: 1.0.0.0 Base di codice: file:///C:/FatturaElettronica/Fatturaelettronica.exe

## System.Windows.Forms Versione assembly: 4.0.0.0 Versione Win32: 4.7.2558.0 built by: NET471REL1 Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC\_MSIL/System.Windows.Forms/v4.0\_4.0.0.0\_\_b77a5c561934e089/System.Windows.Forms.dll

## System Versione assembly: 4.0.0.0 Versione Win32: 4.7.2558.0 built by: NET471REL1 Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC\_MSIL/System/v4.0\_4.0.0.0\_\_b77a5c561934e089/System.dll

## System.Drawing Versione assembly: 4.0.0.0 Versione Win32: 4.7.2558.0 built by: NET471REL1 Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC\_MSIL/System.Drawing/v4.0\_4.0.0.0\_\_b03f5f7f11d50a3a/System.Drawing.dll

## System.Configuration Versione assembly: 4.0.0.0 Versione Win32: 4.7.2558.0 built by: NET471REL1 Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC\_MSIL/System.Configuration/v4.0\_4.0.0.0\_\_b03f5f7f11d50a3a/System.Configuration.dll

## System.Core Versione assembly: 4.0.0.0 Versione Win32: 4.7.2563.0 built by: NET471REL1 Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC\_MSIL/System.Core/v4.0\_4.0.0.0\_\_b77a5c561934e089/System.Core.dll

## System.Xml Versione assembly: 4.0.0.0 Versione Win32: 4.7.2558.0 built by: NET471REL1 Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC\_MSIL/System.Xml/v4.0\_4.0.0.0\_\_b77a5c561934e089/System.Xml.dll

## System.resources Versione assembly: 4.0.0.0 Versione Win32: 4.6.1055.0 built by: NETFXREL2 Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC\_MSIL/System.resources/v4.0\_4.0.0.0\_it\_b77a5c561934e089/System.resources.dll

## System.Windows.Forms.resources Versione assembly: 4.0.0.0 Versione Win32: 4.6.1055.0 built by: NETFXREL2 Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC\_MSIL/System.Windows.Forms.resources/v4.0\_4.0.0.0\_it\_b77a5c561934e089/System.Windows.Forms.resources.dll

## mscorlib.resources Versione assembly: 4.0.0.0 Versione Win32: 4.6.1055.0 built by: NETFXREL2 Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC\_MSIL/mscorlib.resources/v4.0\_4.0.0.0\_it\_b77a5c561934e089/mscorlib.resources.dll

\*\*\*\*\*\*\*\*\*\*\*\*\*\* Debug JIT \*\*\*\*\*\*\*\*\*\*\*\*\*\*  
Per abilitare il debug JIT, è necessario impostare il valore  
jitDebugging nella sezione system.windows.forms del file di configurazione  
dell’applicazione o del computer (machine.config).  
L’applicazione inoltre deve essere compilata con il debug  
abilitato.

Ad esempio:

Quando il debug JIT è abilitato, tutte le eccezioni non gestite  
vengono inviate al debugger JIT registrato nel computer,  
anziché essere gestite da questa finestra di dialogo.

---

<div class="post-metadata">

**Author:** ![genesi](https://forum.italia.it/letter_avatar_proxy/v4/letter/g/53a042/32.png) [@genesi](https://forum.italia.it/u/genesi)\
**Post date:** [13 Febbraio 2019, 10:57am UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/4 "2019-02-13T10:57:54Z")

</div>

> [@frankge973](#):
>
> Impossibile risolvere il nome remoto.: ‘smtp’

Direi che è chiaro  
“Impossibile risolvere il nome remoto.: ‘smtp’”.  
Dato che, mi pare di capire, nel codice non specifichi nulla, lui prende le impostazioni di default della macchina (che probabilmente su quella macchina non sono specificate).  
Ti suggerisco vivamente di definire tutto quello che serve a livello di codice (magari estrai i dati da un db oppure da un banale file di testo con i dati su ciascuna riga) in questo modo (es.)+

```
                SmtpClient client = new SmtpClient();
                client.Port = port;
                client.Host = host;
                client.EnableSsl = false; \\o true se abiliti ssl
                client.Timeout = 7000;
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.UseDefaultCredentials = false;
                client.Credentials = new System.Net.NetworkCredential(user, pwd); 

```

//user e pwd saranno l’utente abilitato all’invio della mail

Ultima cosa: l’API che stai usando è deprecata, andrebbe usato qualcosa di più moderno

---

<div class="post-metadata">

**Author:** ![frankge973](https://forum.italia.it/user_avatar/forum.italia.it/frankge973/32/1571_2.png) [@frankge973](https://forum.italia.it/u/frankge973)\
**Post date:** [13 Febbraio 2019, 11:41am UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/5 "2019-02-13T11:41:48Z")

</div>

> [@genesi](#):
>
> SmtpClient client = new SmtpClient(); client.Port = port; client.Host = host; client.EnableSsl = false; \o true se abiliti ssl client.Timeout = 7000; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(user, pwd);

mi dà errore : The operation has timed out. secondo me è una questione di smtp server… dove posso vedere dove sono archiaviate queste credenziali ?

---

<div class="post-metadata">

**Author:** ![genesi](https://forum.italia.it/letter_avatar_proxy/v4/letter/g/53a042/32.png) [@genesi](https://forum.italia.it/u/genesi)\
**Post date:** [13 Febbraio 2019, 11:57am UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/6 "2019-02-13T11:57:06Z")

</div>

Non hai i dati del server mail?  
Potresti provare a prenderli da un qualunque client di posta (es. Outlook) utilizzando poi un utente specifico già esistente (o meglio uno creato ad hoc) per inviare la mail

---

<div class="post-metadata">

**Author:** ![frankge973](https://forum.italia.it/user_avatar/forum.italia.it/frankge973/32/1571_2.png) [@frankge973](https://forum.italia.it/u/frankge973)\
**Post date:** [13 Febbraio 2019, 12:54pm UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/7 "2019-02-13T12:54:54Z")

</div>

dal sito aruba pec dicono che il server SMTP è smtps.pec.aruba.it porta 465 SSL  
provato ma nulla.  
perchè però se non metto niente  
e sulla chiamata a SmtpClient smtpClient = new SmtpClient(“smtp”); metto appunto smtp la mail va correttamente (come porta ho indicato 25 e SSL=false).  
secondo me legge il tutto da questo file  
[https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/network/](https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/network/)  
io vorrei capire che caspita c’è scritto ma non capisco dove stia sto file !!!  
infatti fa riferimento all’elemento chiamato smtp dentro al file di configurazione network schema

---

<div class="post-metadata">

**Author:** ![genesi](https://forum.italia.it/letter_avatar_proxy/v4/letter/g/53a042/32.png) [@genesi](https://forum.italia.it/u/genesi)\
**Post date:** [13 Febbraio 2019, 1:52pm UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/8 "2019-02-13T13:52:00Z")

</div>

intanto da com’è indicato, è un smtp"s" quindi devi usare l’ssl. La porta te la dice sopra, devi usare la 465 e ssl true  
Il network schema è sicuramente un xml di configurazione presente nel framework (devo cercare, sinceramente al volo non saprei dove trovarlo), ritengo, però, che non ha senso usare quel metodo perchè, come ben hai potuto vedere, se cambia qualcosa non ne hai il controllo e non funziona.  
Fidati, trova i dati corretti per configurare il server smtp ed usalo nel modo suggerito, ne avrai sempre il controllo

---

<div class="post-metadata">

**Author:** ![fabiocaruso](https://forum.italia.it/user_avatar/forum.italia.it/fabiocaruso/32/1861_2.png) [@fabiocaruso](https://forum.italia.it/u/fabiocaruso)\
**Post date:** [13 Febbraio 2019, 7:01pm UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/9 "2019-02-13T19:01:02Z")

</div>

System.Net.Mail non funziona con la porta 465, anzi credo che funzioni solo con la porta 25. Quindi non impazzire oltre, che già ci ho perso un po’ di tempo anch’io qualche mese fa. Per mandare correttamente un messaggio PEC, con allegati, puoi usare System.Web.Mail (anche se Visual Studio ti segnala che è obsoleto) che funziona perfettamente anche con .NET Framework 4.0 (Windows XP). Oppure puoi usare il pacchetto gratuito Aegis Mail, che puoi installare direttamente come pacchetto NuGet all’interno di Visual Studio 2017, ma funziona con .NET Framework \>=4.5 (quindi niente Windows XP). Io uso System.Web.Mail autenticandomi su register, oppure su Aruba: non perde un colpo. Trasferisco ogni giorno un allegato .zip con circa 80 fatture xml. Mai avuto nessun problema: solitamente il giorno successivo, le vedo online sul sito dell’AdE.

---

<div class="post-metadata">

**Author:** ![genesi](https://forum.italia.it/letter_avatar_proxy/v4/letter/g/53a042/32.png) [@genesi](https://forum.italia.it/u/genesi)\
**Post date:** [13 Febbraio 2019, 8:00pm UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/10 "2019-02-13T20:00:04Z")

</div>

No dai, non gli suggerite roba deprecata. Quando in futuro andrà a fare manutenzione se ne pentirà. Ci sono tante soluzioni gratuite e ben integrate. La stessa pagina di MS differisce roba su github molto valida.

---

<div class="post-metadata">

**Author:** ![fabiocaruso](https://forum.italia.it/user_avatar/forum.italia.it/fabiocaruso/32/1861_2.png) [@fabiocaruso](https://forum.italia.it/u/fabiocaruso)\
**Post date:** [13 Febbraio 2019, 8:17pm UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/11 "2019-02-13T20:17:05Z")

</div>

Lo spazio dei nomi che Microsoft continua a proporre per le e-mail è System.Net.Mail, ma non funziona con l’autenticazione SSL necessaria per la Pec. Se con pochissime righe di C# (che se vuoi posto qua), si può usare System.Web.Mail che invece funziona al100% con qualunque .NET Framework, non c’e niente di male ad utilizzarlo… poi se uno vuole perderci del tempo… allora cerca qualcos’altro, che comunque, bene che vada, restituirà lo stesso risultato.

---

<div class="post-metadata">

**Author:** ![Morris](https://forum.italia.it/letter_avatar_proxy/v4/letter/m/d2c977/32.png) [@Morris](https://forum.italia.it/u/Morris)\
**Post date:** [25 Maggio 2019, 2:08pm UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/12 "2019-05-25T14:08:11Z")

</div>

A proposito di roba deprecata.  
Se usi NET CORE/ Net Standard non puoi chiamare un SOAP MTOM.  
Deprechiamo le tecnologie di AdE o Net Core in questo caso?

---

<div class="post-metadata">

**Author:** ![stevegruni](https://forum.italia.it/letter_avatar_proxy/v4/letter/s/57b2e6/32.png) [@stevegruni](https://forum.italia.it/u/stevegruni)\
**Post date:** [23 Ottobre 2020, 12:04pm UTC](https://forum.italia.it/t/invio-fatture-tramite-pec-aruba-e-net-c/8086/13 "2020-10-23T12:04:42Z")

</div>

SmtpClient Smtp.Net.Mail funziona con aruba utilizzando la porta TLS 587.  
Piccolo frammento di codice:  
var smtp = new SmtpClient  
{  
Host = “smtps.aruba.it”,  
Port = 587,  
EnableSsl = true,  
DeliveryMethod = SmtpDeliveryMethod.Network,  
UseDefaultCredentials = true,  
Credentials = new NetworkCredential(“my from address”, “my pwd”),  
Timeout = 20000  
};
