Fax VB.NET - Send One or More Files to Multiple Recipients with SendfaxEx_2
This section shows how to send faxes with VB.NET to one or more recipients using SendfaxEx_2.
The fax VB.NET snippet below does the following: reads a number of files, submits the fax to the Web service (with multiple attachments), and indicates the success/failure of the submission.
For a successful submission, the return value is the transaction ID (positive number) of the fax in the system. A failure is indicated by any other return values (for more details, see Web Service Return Codes).
Sending a fax with VB.NET to one or more recipients with one or more attached files is done using the SendfaxEx_2 method, which provides more flexible sending capabilities than Sendfax (for more details, see Side-by-side Comparison of Web Service Methods).
Sub Main() Dim username As String = "my username" Dim password As String = "my password" Dim faxNumbers As String = "+442079876543;+12125555555" Dim contacts As String = "Name 1;Name 2" Dim path1 As String = "c:\temp\1.pdf" Dim path2 As String = "c:\temp\1.docx" ' read files data Dim file1data() As Byte = IO.File.ReadAllBytes(path1) '1st document Dim file2data() As Byte = IO.File.ReadAllBytes(path2) '2nd document ' combine into a single byte array Dim data(file1data.Length + file2data.Length - 1) As Byte Array.Copy(file1data, data, file1data.Length) Array.Copy(file2data, 0, data, file1data.Length, file2data.Length) Dim fileTypes As String = IO.Path.GetExtension(path1).TrimStart("."c) & ";" & IO.Path.GetExtension(path2).TrimStart("."c) Dim fileSizes As String = file1data.Length.ToString & ";" & file2data.Length.ToString Dim postponeTime As DateTime = DateTime.Now.AddHours(2) ' in two hours. use any PAST time to send ASAP Dim retriesToPerform As Integer = 2 Dim csid As String = "My CSID" Dim pageHeader As String = "To: {To} From: {From} Pages: {TotalPages}" Dim subject As String = "My Subject" Dim replyAddress As String = "myemail@mydomain.com" Dim pageSize As String = "A4" Dim pageorientation As String = "Portrait" Dim isHighResolution As Boolean = False 'this will speed up your transmission Dim isFineRendering As Boolean = False 'fine will fit more graphics, while normal (false) will fit more textual documents Dim ifws As New interfax.InterFax() Dim st As Long = ifws.SendfaxEx_2( _ username, _ password, _ faxNumbers, _ contacts, _ data, _ fileTypes, _ fileSizes, _ postponeTime, _ retriesToPerform, _ csid, _ pageHeader, _ "", _ subject, _ replyAddress, _ pageSize, _ pageorientation, _ isHighResolution, _ isFineRendering) Console.WriteLine("Status is " & st) End Sub

