C
C
Send Email without Authentication (no Login)
Demonstrates how to send email using an SMTP server that does not require authentication.An SMTP server that needs no authentication should be protected by a firewall, to prevent outsiders from using it as a SPAM server. To send email without logging in, simply set the mailman's SmtpAuthMethod property = "NONE".
Chilkat C Downloads
#include <C_CkMailMan.h>
#include <C_CkEmail.h>
void ChilkatSample(void)
{
BOOL success;
HCkMailMan mailman;
HCkEmail email;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// The mailman object is used for sending and receiving email.
mailman = CkMailMan_Create();
// Set the SMTP server. Perhaps it is the local machine.
CkMailMan_putSmtpHost(mailman,"localhost");
// Or perhaps it's a particular computer on the local network:
CkMailMan_putSmtpHost(mailman,"192.168.1.123");
// Or provide a local domain that resolves to an IP address on the local network:
CkMailMan_putSmtpHost(mailman,"mymailsesrver.com");
// Set the SmtpAuthMethod property = "NONE"
CkMailMan_putSmtpAuthMethod(mailman,"NONE");
// Set the SMTP login/password (this may be omitted given no authentication will take place)
// mailman.SmtpUsername = "myUsername";
// mailman.SmtpPassword = "myPassword";
// Create a new email object
email = CkEmail_Create();
CkEmail_putSubject(email,"This is a test");
CkEmail_putBody(email,"This is a test");
CkEmail_putFrom(email,"Chilkat Support <support@chilkatsoft.com>");
success = CkEmail_AddTo(email,"Chilkat Admin","admin@chilkatsoft.com");
// To add more recipients, call AddTo, AddCC, or AddBcc once per recipient.
// Call SendEmail to connect to the SMTP server and send.
// The connection (i.e. session) to the SMTP server remains
// open so that subsequent SendEmail calls may use the
// same connection.
success = CkMailMan_SendEmail(mailman,email);
if (success != TRUE) {
printf("%s\n",CkMailMan_lastErrorText(mailman));
CkMailMan_Dispose(mailman);
CkEmail_Dispose(email);
return;
}
// Some SMTP servers do not actually send the email until
// the connection is closed. In these cases, it is necessary to
// call CloseSmtpConnection for the mail to be sent.
// Most SMTP servers send the email immediately, and it is
// not required to close the connection. We'll close it here
// for the example:
success = CkMailMan_CloseSmtpConnection(mailman);
if (success != TRUE) {
printf("Connection to SMTP server not closed cleanly.\n");
}
printf("Mail Sent!\n");
CkMailMan_Dispose(mailman);
CkEmail_Dispose(email);
}