©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 41 
Attaching Multiple Files 
To attach multiple files to a single email message, simply specify multiple files and separate  
them with a semi-colon (
;
) Without any spaces.   
If all files are under the same folder, it's enough to specify the full path only for the 1
st
file.   
For example: c:\temp\Sales.pdf;Returns.pdf 
You can also specify file names using wild cards.   
For example, in a bursting scenario, to send all pdf files in the current month folder under the 
current customer:  
C:\VC_Exports\{customer.customer_id}\{@Month}\*.pdf 
and to send all files that start with the current Customer ID:  
C:\VC_Exports\{customer.customer_id}*.* 
Attaching Optional Files 
You can indicate that an email attachment is optional by prefixing <Opt> to the file path & 
name.  For example, if you need to email Sales.pdf (always) and Returns.pdf (if it exists), use: 
c:\temp\Sales.pdf;<Opt>c:\temp\Returns.pdf   
- or - 
c:\temp\Sales.pdf;<Opt>Returns.pdf  
Pdf find and replace text - search text inside PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn how to search text in PDF document and obtain text content and location information
how to make a pdf document text searchable; how to make pdf text searchable
Pdf find and replace text - VB.NET PDF Text Search Library: search text inside PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn How to Search Text in PDF Document and Obtain Text Content and Location Information in VB.NET application
convert pdf to searchable text online; pdf editor with search and replace text
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 42 
Specifying Multiple (Simple/Composite) Email Addresses  
You specify multiple email address destinations in the ToCC, or BCC emailing options, by 
separating them with a semi-colon (
;
) Without any spaces.   
You can also specify composite (display name as well as address) email destinations.   
For example: "Ido Millet" <ido@MilletSoftware.com>
;
"Jane Doe" <Jane@aol.com>  
Specifying Email Distribution Lists in Text Files  
To facilitate emailing to a long list of recipients, you can specify in the  
ToCC, and BCC emailing options a file name containing a distribution list.     
For example, using Notepad you can create a file such as: 
You then specify that Visual CUT should use that file as a distribution list by entering 
File:c:\temp\test_email_list.txt    
in the ToCC, or BCC emailing options.  
Notes:  
you use the word "File:" followed by the path & name of the text file containing the 
email addresses.  Each address should be on a separate line and it can be specified as 
an email address only or as a composite (display name and address) as shown in the 
example above. 
As always, you can include references to dynamic fields and formulas.  For example,  
File:c:\distribution_lists\Department_{@DeptID}.txt 
would allow you to burst a report by department and use a different distribution list for 
each department. 
VB.NET PDF replace text library: replace text in PDF content in vb
and ASP.NET webpage. Find and replace text in PDF file in preview without adobe PDF reader component installed. Able to pull text
how to search a pdf document for text; how to select text in pdf reader
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
When you have downloaded the RasterEdge Image SDK for .NET, you can unzip the package to find the RasterEdge.Imaging.PDF.dll in the bin folder under the root
find text in pdf image; how to select all text in pdf
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 43 
Specifying Email Distribution Lists in SQL Queries 
In cases where you wish to dynamically retrieve the list of email addresses using an SQL query 
against an ODBC data source, you can specify in the To, CC, and/or BCC emailing options an 
expression such as: 
MS Access Example: 
ODBC:Customers::User_ID::Password::SELECT [email] FROM 
[Contacts] WHERE [Customer_ID] = '{Customer_ID}'  
SQL Server Example: 
ODBC:CONTACTS::sa::xxxxx::SELECT DISTINCT AHD.ctct.c_email_addr FROM 
AHD.ctct where AHD.ctct.c_email_addr IS NOT NULL 
The expression starts with 
ODBC:
followed by 4 elements separated by 
::
1. 
ODBC DSN
(Note: could be different from the DSN used for the Crystal report) 
2. 
User ID
(use a single space if not needed) 
3. 
Password
(use a single space if not needed) 
4. 
SQL Statement
Notes:  
If the SQL statement returns multiple rows, Visual CUT takes care of concatenating the 
email addresses from all the rows to a single string with semi-colon as the delimiter. 
The SQL statement syntax depends on your database.  For example, as shown in the 
samples above, MS Access uses [ ] around field/table names but SQL Server doesn't. 
You can embed dynamic fields/formula values anywhere inside the expression.  
In the MS Access example, the list of contacts for the Customer in the current bursting 
cycle would be retrieved. This offers powerful email distribution management options... 
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
document. If you find certain page in your PDF document is unnecessary, you may want to delete this page directly. Moreover, when
find text in pdf files; pdf find highlighted text
VB.NET Create PDF Library SDK to convert PDF from other file
Create writable PDF file from text (.txt) file in VB.NET project. you can download the RasterEdge .NET Image SDK and find the PDF processing component DLL
cannot select text in pdf; how to select text in pdf image
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 44 
Specifying Bursting email Addresses in a Formula 
In bursting scenarios, if the database doesn’t contain an email address for each Group Level 1, 
you can use a suppressed Crystal formula (in GH1 or GF1 sections) to return a different email 
destination for each Group. For example: 
Select {Branch_Manager.ID} 
Case 101: 
"Jim@Acme.com" 
Case 103: 
"Amy@Acme.com;Don@Acme.com" 
Case 204: 
"Veronique@Acme.com" 
Default: 
 "serge@Acme.com"; 
Specifying an Email Reconnect Option for Email Bursting 
During Email bursting, the default behavior is to disconnect from the email server after each 
message. This avoids scenarios where the SMTP server imposes a limit on how many messages 
can be sent within a single connection. If you know your serv
er doesn’t impose such a limitation, 
or if the number of emails you are sending during a burst operation is always below that limit, 
you can set an Email_SMTP_Disconnect_After_Send option (in DataLink_Viewer.ini) to 
FALSE.  
Specifying a Different Character Set 
In order to override the default character set (iso-8859-1) you should add an entry to the 
[Options] section of DataLink_Viewer.ini.  For example, in order to support Chinese characters, 
you should add the following entry: 
Email_Char_Set=big5 
Skipping Emails (VC_Skip_Email) 
If you wish to skip the sending of an email message, you can include the text VC_Skip_Email  
anywhere inside the Email_To option. For example, you can create a formula that, depending on 
customer or order status skips the email messages to certain customers. In those cases, instead of 
returning the customer’s email address, the formula would return 
"VC_Skip_Email". You can 
drag that formula into the Email_To option and Visual CUT would then skip the emails for those 
cases.   
The advantage of this approach, compared to filtering the report, is that you may want the skip 
just the emailing while keeping exporting or printing functionality.  
C# HTML5 PDF Viewer SDK deployment on Visual Studio .NET
Unzip the download package and you can find a project XDoc.PDF.HTML5 Viewer Demo or XDoc.PDF.HTML5 Editor Once done debugging with x86 dlls, replace the x86
converting pdf to searchable text format; how to select all text in pdf file
VB.NET PDF - Deploy VB.NET HTML5 PDF Viewer on Visual Studio.NET
to How to Build Online VB.NET PDF Viewer in Unzip the download package and you can find a project named XDoc Once done debugging with x86 dlls, replace the x86
search pdf for text in multiple files; pdf search and replace text
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 45 
New Email  Engine   
Starting 2011, extra options are available via 
the ‘Email 2’ tab  in the 
Options dialog: 
Key Features 
With the new email engine, when sending messages to multiple recipients, if the SMTP server 
rejects one of the recipients as a bad email address the process still continues emailing to 
the other recipients.   
You can also use secure connections to the SMTP server 
(NTLM, CRAM-MD5, SSL, STARTTLS). 
The StartTLS option allows you to communicate securely with SMTP servers that require that 
option. Note: use the Email_StartTLS command line argument ("True", "False", or dynamic 
reference) to override the default specified in the Options dialog.  
The Encrypt Email Messages option allows you to encrypt the message so that only the 
recipient can open it. Visual CUT automatically searches for and uses the public key found in the 
first non-expired certificate matching the recipient's email address (the recipient will be using 
their private key).  The search for matching key 
includes the Current User’s personal certificate 
store and then the Local Machine's personal certificate store.  Use the Email_Send_Encrypted 
command line argument ("True", "False", or dynamic reference) to override the default specified 
in the Options dialog.   
C# PDF File Permission Library: add, remove, update PDF file
Text: Replace Text in PDF. Image: Insert Image to PDF. Image: Remove Image from using RasterEdge.XDoc.PDF; In the following code table, you will find a piece of
text searchable pdf; convert pdf to searchable text
VB.NET PDF File Permission Library: add, remove, update PDF file
to PDF. Text: Delete Text from PDF. Text: Replace Text in PDF. In the following code table, you will find a VB NET code sample for how to set PDF file permissions
make pdf text searchable; how to search pdf files for text
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 46 
The Sign Email Messages option allows you to sign (using your private key) the message so that 
the recipient can verify (using your public key) that a) you are the true sender of the message, 
and b) the message content hasn’t been altered.
Note: use the Email_Send_Signed command 
line argument ("True", "False", or dynamic reference) to override the default specified in the 
Options dialog. 
The Email Bounced Message Notification To option allow you to specify a destination for 
bounced messages.  Note: use the Note: use the Email_Bounce_Address command line 
argument (static or dynamic reference) to override the default specified in the Options dialog. 
The SMTP Domain option allow you to specify a domain in cases where the SMTP server 
used integrated authentication.  Note: use the Email_SMTP_Domain command line argument 
(static or dynamic reference) to override the default specified in the Options dialog. 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 47 
Queuing Emails & The smtpQ Service 
With the new email engine, you can queue outgoing email messages in a
n ‘Outgoing’ folder 
monitored by a new smtpQ service.  If you enter any path in the Outgoing Folder option in 
the ‘Email 2’ tab, Visual CUT would use that approach. You can also activate this behavior by 
using the command line argument of "Email_Outgoing_Folder:Path_to_Some_Folder".  
A special smtpQ Service (a separate process that always runs in the background) is responsible 
for handling the email messages queued in the ‘
Outgoing
’ folder.  You 
can install, start/stop, and 
administer the smtpQ Service by clicking on the ‘Administer smtpQ Service’ button
or by 
double-clicking the status labels on the right: 
Note: you need to have Administrator rights 
to manage the smtpQ service. Also, I’ve seen one 
case where the user had to lower the Windows ‘
User Access Control
’ security settings before the 
machine allowed Visual CUT to manage the smtpQ service.  
Monitoring Email Queuing 
If an Outgoing Folder is specified, Visual CUT shows the number of email messages in the 
Outgoing and Undeliverable folders  in the first 2 panels of the status bar.   
The panel showing the number of messages in the Outgoing Folder, also indicates if the smtpQ 
service is Not InstalledStopped, or Running. The information is refreshed every 5 seconds: 
If the Visual CUT & smtpQ Folder don’t match, the status bar indicates there is a problem:
As an added convenience, you can open the Outgoing folder or the Undeliverable folder in  
File Explorer by double-clicking their panel. 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 48 
smtpQ Administration 
Clicking on the Administer smtpQ Service button brings up the following window: 
The Install Service button installs the service so that each time your computer starts the service 
will start automatically. Once the service is installed, you can Start or Stop the service using the 
appropriate buttons.  You can also stop and start the service from the Windows Control Panel, 
Administrative Tools, Services.. (it will show up as Chilkat SMTPQ): 
Important: while the Outgoing Folder  option in Visual CUT controls where Visual CUT 
deposits outgoing email messages (as .eml files), the Outgoing Folder  option in the smtpQ 
Service controls what folder is monitored by the service. Obviously, these two options should 
point at the same folder if you wish to actually send emails automatically.   
Keep the Max Threads option low unless you are sure the SMTP server would allow you to 
send a high volume of emails through many concurrent sessions. 
The Max Retries option allows you to specify how many attempts would be made to send a 
failing email message (for example, if connectivity to your SMTP Server was lost). The delays 
before each retry keep increasing from 1 to 10
th
{5 sec, 10 sec, 15 sec, 1 min, 1.5, 2, 5, 10, 15,  
20 minutes}. 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 49 
As soon as a new .eml file appears in the Outgoing Folder,  the smtpQ Service will attempt to 
send it. If it succeeds, it will either move the file to a Sent folder  or you can elect to have 
successful messages deleted. If after several minutes of repeated retries, the service fails to send 
the message, it will move it to an Undeliverable folder.   
These email messages are deposited as .eml files that can be opened in Windows Mail or 
Outlook Express and manually transferred between folders.  For example, if you copy .eml 
files from the ‘Sent’ folder to the ‘Outgoing’ folder, they will be emailed again
.  This can be 
useful in cases where the receiver junked your original message by mistake.  Among other 
benefits, this allows you to archive outgoing emails and easily recover from email service 
disruptions. For example, your email server may be down or your email service provider may 
not allow more than 100 messages per hour.  
After making changes to the options in the smtpQ Service Manager dialog, you should click the 
Apply button, and then stop and restart the service to have these changes take effect.   
Naming Scheme of .eml Files 
To facilitate the process of locating specific messages, the .eml files are named using three parts:  
a)  
the name and address of the first email recipient  
b)  
[the Subject of the email message] 
c)  
{the date and time the message was generated} 
d)         [The group number being processed] 
Remember that these .eml files can be opened using software such as Windows Live Mail, 
Outlook Express, etc.. 
Here’s an
example: 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 50 
smtpQ Service Failure Action Properties 
Each time the smtpQ service is installed or reinstalled, it is a good idea to set Recovery 
properties in case it fails. Locate Chilkat SMTPQ in the Component Services panel in Windows:  
Right-
click the service, select ‘Properties’ and go to the Recovery tab.  Change the
failure 
options from ‘Take No Action’ to ‘Restart the Service’
Documents you may be interested
Documents you may be interested