C++ にて VMime を使って メールを送信する
の続きです。
アクセストークン を取得する
libcurl のときと同じです。
C 言語にて libcurl を使って Gmail + OAuth で メールを送信する
VMime でアクセストークン を設定する
VMimeのサイトに記載がある
VMime : XOAUTH2 authentication (GMail)
下記は、 XOAUTH2を使用する例
// XOAUTH2を使用する vmime :: security :: sasl :: SASLMechanismFactory :: getInstance()-> registerMechanism <vmime :: security :: sasl :: XOAuth2SASLMechanism>( "XOAUTH2"); // 新しいセッションを作成する vmime :: shared_ptr <vmime :: net :: session> sess = vmime :: net :: session :: create(); // カスタムオーセンティケーターを使用する vmime :: shared_ptr <vmime :: security :: authenticationator> xoauth2Auth = vmime :: make_shared <vmime :: security :: sasl :: XOAuth2SASLAuthenticator> (vmime :: security :: sasl :: XOAuth2SASLAuthenticator :: MODE_EXCLUSIVE); // GMailへのSMTPSサービスを作成する vmime :: shared_ptr <vmime :: net :: transport> tr = sess-> getTransport( vmime :: Utility :: url( "smtps://smtp.gmail.com:465")、xoauth2Auth ); // アクセストークン を設定する tr-> setProperty( "options.need-authentication"、true); tr-> setProperty( "auth.username"、 " your-email@gmail.com "); tr-> setProperty( "auth.accesstoken"、 "your-access-token" ); // 接続する tr-> connect();
全体のコードは、githubに公開した。 https://github.com/ohwada/MAC_cpp_Samples/tree/master/vmime/xoauth