どちらもメールを送信するという点では変わりはありませんが、 自由度の面で差があります。 メール周りの実装にあまり慣れていない場合は、SendGrid公式ライブラリのご利用をお勧めします。
送信手段の差異
- SendGrid公式ライブラリ
Web API経由でメール送信 - 各プログラミング言語で利用できるSMTPライブラリ
(例:.NET:SmtpClient、PHP:Pear::Mail、SwiftMailer、Java:JavaMail、Ruby:Action Mailerなど)
SMTP経由でメール送信
機能面の差異
- SendGrid公式ライブラリ
必要なパラメータ値を指定して送信処理を呼び出すだけなので、簡単に利用できますが、 その分次のような制約事項があります。- 文字コードはUTF-8のみ対応
- パート構造を自由に設定できないためデコメ送信に向いていない
- 各プログラミング言語で利用できるSMTPライブラリ
SMTPの各機能を活用したメールを送信できるため、自由度は高くなりますが、その分難易度が上がります。SMTP関連の各RFCの概要をある程度把握しておく必要があります。
例えば次のようなものです。
- 1行あたりの文字数制限と改行処理
- 非ASCII文字列のエンコード処理
- パート構造の組み立て
ただし、利用できる機能は各ライブラリの実装に依存します。
速度面の差異
通信環境や呼びだし側の実装方法にも依存するため、一概にどちらが速いということはありません。
Web APIとSMTPの違いについて、詳しくはチュートリアルをご確認ください。