2009-06-12 44 views
3

我有一個業務需求來生成傳真並將其發送給收件人。我知道收件人姓名和傳真號碼,並附有一份PDF。這個過程每天都會運行,每次處理100個記錄。我的印象是,這可以通過發送電子郵件到傳真機來完成,而Outlook中的快速測試工作得很好。但是,如果我嘗試在代碼中執行相同的操作,則會收到有關郵件地址無效的錯誤。如何生成傳真並以代碼形式發送

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

從代碼發送傳真的選項有哪些? (.NET)這些傳真都是屬機密性質...


EDITED信息

我公司確實使用右傳真。

+0

你總是可以直接使用SMTP ... – 2009-06-12 19:23:59

+0

@約翰 - 你可以爲這個樣本/解決方案? – RSolberg 2009-06-12 20:38:23

回答

6

下面是一些可能有所幫助的代碼。這是使用權傳真COM API庫(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

您可以使用Microsoft Fax服務,但需要設置傳真服務器。Google搜索應返回一些示例。

增加提及Interop.FAXCOMLib.dll

下面是一個例子(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

您也可以使用電郵傳真在這種情況下,您通過電子郵件發送PDF(傳真件)電子貨幣,他們會傳真給你!他們很便宜。

+1

我不確定我會信任「本質上屬於保密性」的文件到傳真服務。 – 2009-06-18 15:40:15

2

我們使用RightFax DLL。這隻會在你的網絡上有RightFax的時候起作用。

相關問題