2009-06-12 6 views
3

J'ai besoin d'une entreprise pour générer une télécopie et l'envoyer au destinataire. Je connais le nom et le numéro de télécopieur du destinataire et un document PDF sera joint. Ce processus se déroulera quotidiennement et se composera de 100 enregistrements à traiter à chaque fois. J'avais l'impression que cela pouvait être fait en envoyant un courriel au télécopieur et un test rapide dans Outlook fonctionnait très bien. Cependant, si je devais essayer de faire la même chose dans le code, j'obtiens une erreur au sujet de l'adresse mail étant invalide.Comment générer une télécopie et l'envoyer avec le code

MailMessage msg = new MailMessage(); 
msg.To.Add(new MailAddress("[Fax:[email protected]]")); 

Quelles sont mes options pour l'envoi de télécopies à partir du code? (.NET) Ces fax sont confidentielles dans la nature ...


ÉDITÉ INFO

Mon entreprise utilise-t-droit Fax.

+0

Vous pouvez toujours utiliser directement SMTP ... –

+0

@John - pouvez-vous fournir l'échantillon/solution pour cela? – RSolberg

Répondre

6

Voici un code qui peut vous aider. Ce utilise l'API COM droit Fax Bibliothèque (rfcomapi.dll)

RFCOMAPILib.FaxServerClass faxserver = new RFCOMAPILib.FaxServerClass(); 
faxserver.ServerName = "ServerName"; 
faxserver.Protocol = RFCOMAPILib.CommunicationProtocolType.cpNamedPipes; 
faxserver.UseNTAuthentication = RFCOMAPILib.BoolType.True; 
faxserver.OpenServer(); 

RFCOMAPILib.Fax fax = (RFCOMAPILib.Fax) faxserver.get_CreateObject(RFCOMAPILib.CreateObjectType.coFax); 

// set up your 'fax' object the way you want it, below is just some sample options 
fax.ToName = "John Doe"; 
fax.ToFaxNumber = "4255551111"; 
fax.ToVoiceNumber = "4255550000"; 
fax.ToCompany = "ACME"; 
fax.FromName = "My Company"; 
fax.FromVoiceNumber = "4255552222"; 

fax.Send(); 
2

Vous pouvez utiliser le service de télécopie Microsoft, mais vous devrez configurer un serveur de télécopie. Une recherche Google doit renvoyer des exemples.

Ajouter une référence à Interop.FAXCOMLib.dll

Voici un exemple (vb.net):

Dim fs As FAXCOMLib.FaxServer 
    Dim fd As FAXCOMLib.FaxDoc 
    Dim result As Integer 

    fs = New FAXCOMLib.FaxServer() 
    fs.Connect("FaxServer1") 

    fd = CType(fs.CreateDocument("c:\documenttofax.pdf"), FAXCOMLib.FaxDoc) 
    fd.RecipientName = "John Doe" 
    fd.FaxNumber = "555-1234" 

    Try 
     result = fd.Send() 
    Finally 
     fs.Disconnect() 
    End Try 
0

Vous pouvez également utiliser eFax dans ce cas, vous envoyez un fichier PDF (le document par télécopieur) à eFax et ils le faxeront pour vous! Ils sont très bon marché.

+1

Je ne suis pas sûr de faire confiance aux documents «confidentiels par nature» à un service de télécopie. –

2

Nous utilisons la DLL RightFax. Cela ne fonctionnera que si vous avez RightFax sur votre réseau.

+1

et où obtenez-vous RightFax.dll? –

+0

@JonErickson avez-vous obtenu 'rfcomapi.dll' Je suis également à la recherche de ceci. aidez s'il vous plaît. –

Questions connexes