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