前回初期設定とネットワーク接続の確認までを記載しました。ここからはEmailの送信です。
メールはAボタンを押したときに送信するようにします。
なお、SIM7080Gそのものは技適取得済ですが、アンテナが認証取得していないのではないかとの話があるので自己責任でお願いします。
Niftyのメールサーバを使用していますので、
SMTPサーバー:smtp.nifty.com
ポート:587
ユーザID:abc123456@nifty.com
パスワード:Password
送信先のメールアドレス:sendto@gmail.com
メールタイトル:Test
メール本文:This is a new Email
としておきます。
AT+EMAILCID=0:Email Bearer Profile indentifierの設定です。ここでは0とします。
AT+SMTPSRV="smtp.nifty.com",587:SMTPサーバーとポートの設定です。
AT+SMTPAUTH=1,"abc123456@nifty.com","Password":SMTPサーバーにログインするためのユーザIDとパスワードです。
AT+SMTPFROM="abc123456@nifty.com","sendusername":送信元のメールアドレスとユーザ名です。
AT+SMTPRCPT=0,0,"sendto@gmail.com","sendusename":TOで送信するメールアドレスとユーザ名です。
AT+SMTPRCPT=1,0,"abc123456@nifty.com","sendusername":CCで送信するメールアドレスとユーザ名です。AT+SMTPRCPT=2,0,"abc123456@nifty.com","sendusername"とするとBCCで送れます。
AT+SMTPSUB="Test":メールのタイトルです。
AT+SMTPBODY=19:メール本文として送るバイト数です。今回「This is a new Email」としましたので19バイトになります。このコマンドを送信するとDOWNLOADというレスポンスを返してくるので、ATコマンドを付けずにメール本文をそのままUARTに1行分送信します。
AT+SMTPSEND:メールを送信します。送信に成功するとOK、失敗するとエラーコードを返してきます。
Bボタンを押したときの処理です。必要に応じて変更してください。
AT+CNACT?:APPネットワークの状態を確認します。
AT+CGNAPN:APNを確認します。
AT+CGNATT?:PSサービスの確認です。
今回のプログラミングでとりあえずテストメールが送信できることは確認できましたが、メールサーバとの接続は何分かするとセッションが切れるようなので、使用するたびにセッションを確立するように変更した方がよさそうです。また、関数に設定しておくともう少しきれいにコーディングできますね。