3

我有一个业务需求来生成传真并将其发送给收件人。我知道收件人姓名和传真号码,并附上一份 PDF。此过程将每天运行,每次包含 100 条要处理的记录。我的印象是,这可以通过向传真机发送电子邮件来完成,并且在 Outlook 中进行快速测试就可以了。但是,如果我尝试在代码中执行相同的操作,则会收到有关邮件地址无效的错误消息。

MailMessage msg = new MailMessage();
msg.To.Add(new MailAddress("[Fax:myUser@5555555555]"));

从代码发送传真有哪些选择?(.NET) 这些传真本质上是机密的......


编辑信息

我的公司确实使用 Right Fax。

4

4 回答 4

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();
于 2009-06-18T15:27:55.320 回答
2

您可以使用 Microsoft 传真服务,但您需要设置传真服务器。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
于 2009-06-12T18:49:19.023 回答
2

我们使用 RightFax dll。但是,只有在您的网络上有 RightFax 时,这才有效。

于 2009-06-12T18:50:51.640 回答
0

您也可以使用 eFax,在这种情况下,您通过电子邮件将 PDF(传真文件)发送到 eFax,他们会为您传真!它们非常便宜。

于 2009-06-12T18:50:14.213 回答