C 言語にて libquickmail を使って メールを送信する

C 言語にて libcurl を使って メールを送信する の続きです。

libquickmail

libquickmail は、電子メールを送信するためのCライブラリです。

https://sourceforge.net/projects/libquickmail/

プログラマーがアプリケーションから電子メールをすばやく簡単に送信できるようにすることを目的としている。 添付ファイル付きの電子メールの作成も簡単です。 実際のSMTP通信には、libcurl または組み込みのSMTPサポートのいずれかを使用する。 組み込みのSMTPサポートは、ssl/tls に対応していないので、Gmail に送信する場合は、libcurl を使用する。

libquickmail のインストール

(1) プロジェクトファイルをダウンロードする。
git clone https://github.com/cdevelop/libquickmail

(2) 下記の2つのファイルをアプリ作成のディレクトリに配置する - quickmail.c
- quickmail.h

libquickmail のプログラム例

同封されている下記のサンプルを参考にした。 https://github.com/cdevelop/libquickmail/blob/master/test_quickmail.c

素の libcurl は、メールの組み立てに、プログラマーがコールバック関数を記述する必要があった。 libquickmail は、この部分を内包したので、プログラマーは簡潔に記述することができる。

#include "quickmail.h

#define FROM "user@gmail.com"
#define TO "hoge@example.com"
#define SMTPSERVER "smtp.gmail.com"
#define SMTPPORT 587
#define SMTPUSER "user@gmail.com"
#define SMTPPASS "password"

char *subject = "test mail";
char *body = "this is test mail";

quickmail_initialize();

quickmail mailobj = quickmail_create(FROM, subject);

quickmail_add_to(mailobj, TO);

quickmail_set_body(mailobj, body );

quickmail_send(mailobj, SMTPSERVER, SMTPPORT, SMTPUSER, SMTPPASS );

build code
gcc sendmail.c quickmail.c pkg-config --cflags --libs libcurl

ファイル添付のプログラム例

quickmail_initialize();

quickmail mailobj = quickmail_create(FROM, subject);

quickmail_add_to(mailobj, TO);

quickmail_set_body(mailobj, body );
    quickmail_add_attachment_file(mailobj, "sample.jpg", NULL);

quickmail_send(mailobj, SMTPSERVER, SMTPPORT, SMTPUSER, SMTPPASS );

全体のコードは、Githubに公開した。 https://github.com/ohwada/MAC_cpp_Samples/tree/master/libquickmail