2009-06-12 6 views
3

Ich habe eine Geschäftsanforderung, ein Fax zu generieren und es an den Empfänger zu senden. Ich kenne den Namen des Empfängers und die Faxnummer und es gibt ein PDF, das angehängt wird. Dieser Prozess wird täglich ausgeführt und besteht aus 100 Datensätzen, die jedes Mal verarbeitet werden. Ich hatte den Eindruck, dass dies möglich ist, indem ich eine E-Mail an das Faxgerät sendete und ein schneller Test in Outlook funktionierte einwandfrei. Wenn ich jedoch versuchen würde, dasselbe im Code zu tun, erhalte ich einen Fehler, weil die Mailadresse ungültig ist.So erstellen Sie ein Fax und senden es in Code

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

Was sind meine Optionen zum Senden von Faxen aus Code? (.NET) Dieses Faxe vertraulich ist in der Natur ...


EDITED INFO

Meine Firma macht Recht Fax verwenden.

+0

Sie immer SMTP direkt ... –

+0

@John verwenden könnte - können Sie bieten die Probe/Lösung? – RSolberg

Antwort

6

Hier ist ein Code, der helfen kann. Dies wird mit der rechten Fax COM API-Bibliothek (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

Sie können den Microsoft Faxdienst verwenden, aber Sie müssen einen Faxserver einrichten. Eine Google-Suche sollte einige Beispiele zurückgeben.

einen Verweis auf Interop.FAXCOMLib.dll hinzufügen

Hier ein Beispiel ist (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

Sie auch eFax in diesem Fall können Sie eine PDF-E-Mail (das gefaxt Dokument) zu eFax und sie faxen es für Sie! Sie sind sehr billig.

+1

Ich bin mir nicht sicher, ob ich vertraulichen Dokumenten gegenüber einem Faxdienst vertrauen würde. –

2

Wir verwenden die RightFax dll. Das funktioniert nur, wenn Sie RightFax in Ihrem Netzwerk haben.

+1

und wo bekommen Sie RightFax.dll? –

+0

@JonErickson hast du 'rfcomapi.dll' bekommen Ich bin auch auf der Suche nach diesem. bitte hilfe. –

Verwandte Themen