C library intended to give C/C++ developers a quick and easy way to send e-mail from their applications. Supports multiple To/Cc/Bcc recipients and multiple attachments without size limitation. For the actual SMTP communication either libcurl can be used or the built in SMTP support. The library can also be used to just create a multipart MIME message body.
Also comes with a command line application for sending mails (with optional attachments).
Rate This ProjectLogin To Rate This Project
I wanted a simple email client library to incorporate into a program I am writing under cygwin (for later transfer to a raspberry PI). libquickmail was an obvious choice, because I was already using libcurl. My first problem was persuading libcurl to recognize that SSL was available. Solution: install openssl-devel and then reconfigure and remake libcurl. The second problem was that I could not establish a connection (or rather it kept failing) to googlemail using SSL on port 465. After some debugging, I noticed that in quickmail.c (Line 924), that libquickmail was using smtp: (hard coded) as the protocol. I changed this to smtps: And wonderfully (!) my small test program worked and send my test email, which I was then able to read. I would recommend adding an option to the library to specify that smtps can be used as the protocol. In Germany now, most email accounts MUST use SSL. I would like to add a further remark that might help other users. I am using libquickmail together with libcurl, as I want to load files from an FTP server, process the files and then send an email depending on the result of the processing. If I use libcurl version 7.38.0 (the latest package version available in the Raspberry Pi), my program blocks somewhere (probably in libcurl) when sending an email. If I use a later version (in my case libcurl 7.47.0), I can send emails without problem. Surprisingly, the fix for libcurl version 7.38.0 was to add an attachment to the email. With the attachment (any old file), libquickmail also sent emails with libcurl version 7.38.0. I will therefore inslall libcurl 7.47.0 (or a later version) directly on the Raspberry Pi, rather that using apt-get to install the out-of-date version of libcurl. David Singleton
I compiled test_quickmail.c, but some errors were occurred as shown below: $ gcc -o test_quickmail test_quickmail.c /tmp/cc2kRB77.o: In function `main': test_quickmail.c:(.text+0x68): undefined reference to `quickmail_get_version' test_quickmail.c:(.text+0x7c): undefined reference to `quickmail_initialize' test_quickmail.c:(.text+0x88): undefined reference to `quickmail_create' test_quickmail.c:(.text+0x98): undefined reference to `quickmail_add_to' test_quickmail.c:(.text+0xa4): undefined reference to `quickmail_add_header' test_quickmail.c:(.text+0xb0): undefined reference to `quickmail_add_header' test_quickmail.c:(.text+0xbc): undefined reference to `quickmail_add_header' test_quickmail.c:(.text+0xc8): undefined reference to `quickmail_set_body' test_quickmail.c:(.text+0xe4): undefined reference to `quickmail_add_body_memory' test_quickmail.c:(.text+0xf4): undefined reference to `quickmail_add_attachment_file' test_quickmail.c:(.text+0x104): undefined reference to `quickmail_add_attachment_file' test_quickmail.c:(.text+0x128): undefined reference to `quickmail_add_attachment_memory' test_quickmail.c:(.text+0x13c): undefined reference to `quickmail_set_debug_log' test_quickmail.c:(.text+0x158): undefined reference to `quickmail_send' test_quickmail.c:(.text+0x190): undefined reference to `quickmail_destroy' collect2: ld returned 1 exit status ==>what's wrong with me? How do I solve this problem? thanks!
I'm not able to install libquickmail under Windows 7. I want to use it with MinGW. Where I can see a package good for my environment?
It works, but only some error checking, especially failing malloc() will crash the program.
Thanks for good program!