|
A. The POP3 / SMTP protocols do not provide you with the ability to specify the proxy settings in the same way as for HTTP / FTP protocols. If you want to use the proxy server for sending / retrieving emails, you will have to set-up the connection information (Server, UserName and Password) to this proxy server. So you will need to use the same Server, UserName and Password properties for specifying the email proxy settings.
E.g in case of using FreeProxy (by handcraftedsoftware.org) you need to set-up the proxy tunnel to your mail server and finally configure the email client components to use this FreeProxy server:
http://www.handcraftedsoftware.org/docs/freeproxy/
http://www.handcraftedsoftware.org/docs/freeproxy/FP0011.htm
Note: in both POP3 and SMTP components you will use the connection to your proxy server. Not to the real mail server. The connection to the mail server is handled by proxy. Such component behavior is by design according to RFC standards. It fully identical to OutLook Express, MS OutLook, Eudora and other email clients.
Also check the MS OutLook documentation for more details about connecting to the mail server via proxy.
A. Yes, please feel free to send us any of your code which uses our components. We will investigate it and provide you with the right way of using the components. Also if you need, we can prepare working samples that will demonstrate the functionality you require.
A. The embedded images are stored the same way as file attachments do. Please see Code Samples to learn more about working with email attachments.
A. When you assign the MessageSource property, the TclMailMessage component parses it and extracts all message bodies including text, html, embedded images and file attachments. When the TclMailMessage component parses images and attachments, it does not save the image and/or attachment content in to the memory. It uses external stream object provided by the OnSaveAttachment event. There is also another event - OnLoadAttachment. This event is used for obtaining the attachment source when combining new mail message. You can find a sample of using the OnSaveAttachment event in the MailProgress demo program.
Also please see Code Samples to learn more about working with email attachments.
A. One copy of the Developer License of the Clever Internet Suite allows you to install the suite components on one developer's PC and use it for compiling, debugging and any other developing purposes. If you want to install the Clever Internet Suite on two or more developer's computers, you need to purchase two or more copies of Developer Licenses correspondingly. If you need three or more copies of the Developer License, you may find the Company License a more cost effective method of purchasing the Clever Internet Suite. Using the Company License you can install the suite components on as many developer PCs as you need.
A. It seems that your project settings have the "Build with runtime packages" option enabled. In such a case you need to put the CLINETSUITEB5.BPL near the application executalbe or to some known directory (such as c:\windows\system32...) By default, the Clever Internet Suite installation installs this file in to the "...\Program Files\Clever Components\Clever Internet Suite\CBuilder 5\Lib" directory. Another way, you can compile your application without using the runtime packages option. Please go to the Project Options dialog, open the Packages tab and uncheck this option.
A. Simple specify the corresponding secured url (https://...) within the URL property and the TclUploader component switches to SSL mode (HTTPS) automatically. The OnGetCertificate event allows you to specify the client certificate in case if the server requires it. Also the CertificateFlags property allows you to ignore certificate validation errors.
A. This is a restriction in the trial version of the Clever Internet Suite. The reason is that there is a message box that pops up when the open method occurs and you can't respond to it. Please contact us at support@clevercomponents.com and specify your Delphi / C++Builder IDE version. So we can prepare a special edition of the Clever Internet Suite for you without trial messages.
A. The licensed version of the Clever Internet Suite includes the full sources for all suite components and free unlimited support.
A. When purchasing a copy of Developer License of the ActiveX suite you can freely redistribute the desired suite controls with your applications. There is a condition that you can not redistribute the ActiveX source code together with your application sources (if your application is an open source).
Please see the Clever Internet ActiveX suite EULA document available at EULA.txt for more details.
A. The suite uses the wininet.dll, crypt32.dll and advapi.dll libraries. All these dlls are binded at run-time. So if some of these dll does not available on destination PC then features implementing by that dll will not work. All latest versions of Microsoft Windows always have wininet.dll, crypt32.dll and advapi.dll libraries installed as they are became core part of the Windows. So theoretically you might have problems only with Windows 95 since it came out with preinstalled IE version 4.0 and even if this case you can simple install latest version of IE to fix it.
A. The previous version of the suite downloads urls using single thread, so to continue the downloading from the point where it stops you had to remember and restore the only one component property - ResourcePos.
The version 3.0 downloads urls using variable number of threads simultaneously. Current downloading status of each thread is stored in the ResourceState property. So in order to resume downloading from the last stop point you have to save and restore before starting each TclResourceStateItem within the ResourceState collection. Please store the following TclResourceStateItem properties: ResourcePos, BytesProceed and BytesToProceed. Also you have to store the ResourceSize TclResourceState property. Please try the following code:
procedure TForm1.StoreResourceInfo();
var
i: Integer; IniFile: TIniFile;
Begin
IniFile := TIniFile.Create('c:\settings.ini');
try
IniFile.WriteInteger('ResourceState', 'Count', DownLoader.ResourceState.Count);
IniFile.WriteInteger('ResourceState', 'ResourceSize', DownLoader.ResourceState.ResourceSize);
for i := 0 to DownLoader.ResourceState.Count - 1 do
begin
IniFile.WriteInteger('ResourceStateItem' + IntToStr(i),
'ResourcePos', DownLoader.ResourceState[i].ResourcePos);
IniFile.WriteInteger('ResourceStateItem' + IntToStr(i),
'BytesToProceed', DownLoader.ResourceState[i].BytesToProceed);
IniFile.WriteInteger('ResourceStateItem' + IntToStr(i),
'BytesProceed', DownLoader.ResourceState[i].BytesProceed);
end;
finally
IniFile.Free();
end;
end; |
procedure TForm1.RestoreResourceInfo();
var
i, cnt: Integer; IniFile: TIniFile; Item: TclResourceStateItem;
begin
IniFile := TIniFile.Create('c:\settings.ini');
try
DownLoader.ResourceState.Clear();
cnt := IniFile.ReadInteger('ResourceState', 'Count', 0);
DownLoader.ResourceState.ResourceSize := IniFile.ReadInteger('ResourceState', 'ResourceSize', 0);
for i := 0 to cnt - 1 do
begin
Item := DownLoader.ResourceState.Add();
Item.ResourcePos := IniFile.ReadInteger('ResourceStateItem' + IntToStr(i), 'ResourcePos', 0);
Item.BytesToProceed := IniFile.ReadInteger('ResourceStateItem' + IntToStr(i), 'BytesToProceed', 0);
Item.BytesProceed := IniFile.ReadInteger('ResourceStateItem' + IntToStr(i), 'BytesProceed', 0);
end;
finally
IniFile.Free();
end;
end; |
A. The Clever Internet Suite version 2.5 uses the same proxy settings as Internet Explorer does for the following components: TclDownloader, TclUploader, TclMultiDownloader, TclMultiUploader. The mail components (TclPOP3, TclSMTP and TclIMAP4) and also TclFTP use their own mechanism to connect via proxy (Available starting from version 4.0). Since version 3.0 it is possible to set proxy programmically by using both the Proxy and ProxyBypass component properties. Please see the help file for more details.
A. When the URL property of a component is specified, it is parsed automatically and the resource name is extracted. If the LocalFolder property is not empty then such resource name is combined with LocalFolder and placed into the LocalFile property. In this way you just have to assign empty string to this property ""after setting the URL.
A. In order to solve this problem you have to include the wininet.lib in the project settings. Since version 3.0 due to run-time library binding feature you do not need to add any internet libraries to your projects.
A. Use the OnStatusChanged event. It is generated every time when the executed operation state is changed:
Status |
Description |
psUnknown |
The current downloading or uploading state is unknown. |
psSuccess |
The downloading, uploading or getting resource information process has succeeded. |
psFailed |
The downloading, uploading or getting resource information process has failed. |
psErrors |
Errors occurred when downloading, uploading or getting resource information. |
psProcess |
Downloading, uploading or getting resource information is in process. |
psTerminated |
Downloading, uploading or getting resource information was terminated. |
|
A. When downloading is performed via the HTTP protocol and an error occurs, a server returns HTML page containing custom information about this error. A component downloads this page that is why the process state is equal to errors but not failed. This means that resource information is not found.
A. Some http/ftp servers do not provide such information. If server does not support this info and your URL is correct, the OnError event with 'Requested header not found' message occurs. In any case the downloading process continues correctly.
A. Our Internet Suite is perfectly operable on any of IE version Microsoft supports, beginning from 3.0 to any latest one. But, if you use IE with version lower than 4.0 some features won't be available.
1. So, sending of the POST request is available only since version 4.0. But there is still possibility to implement this feature even with IE 3.0 - simple apply the UseSimpleRequest mode. To get more info about POST requests in the Clever Internet Suite library please visit Simulate a Web Form POST Request.
2. On Internet Explorer 5.01 and earlier, it is not possible to select a client certificate programmatically (without using the user interface). So if you have IE version earlier than 5.5 you should use the UseInternetErrorDialog option to authenticate in GUI mode. To get more info about secured connections in the Clever Internet Suite library please visit Using certificates.
A. To force downloading of the same resource again you need to clean the ResourceState component property. This property is used for resuming feature, so if you successfully downloaded resource the ResourceState points to the end of dowloaded resource. Please use the ResourceState.Clear method for cleaning this property.
A. For uploading files via HTTP / HTTPS protocol, the "PUT" HTTP request method is used. So the HTTP server directory must have the appropriate security permissions. In case of using the Microsoft IIS 6 server, the WebDAV technology must also be enabled.
|