それでは、シェルスクリプトを1行ずつ見ていきましょう。3~7行目は、メールサーバーにログインするための設定です。3行目でメールサーバーのホスト名を、4行目でGoogleアカウントのユーザー名を、それぞれ変数の「smtp_server」と「user_id」に代入しています。5行目で、ユーザー名からメールアドレスを作成し、それを変数「user_adress」に代入しています。6行目で、Googleアカウントのパスワードを変数「password」に代入しています。7行目では、SMTP STARTTLS対応のメールサーバーへログインするための認証情報を作成しています。認証情報は「ユーザー名NULL文字ユーザー名NULL文字パスワード」をBase64でエンコーディングした文字列になります。NULL文字は「\0」で表します。
9~10行目では、expectコマンドでメッセージを送信できる形式に加工しています。9行目で、送信メッセージのファイル名を変数「message_file」に代入しています。10行目で、送信メッセージ内の改行を、改行を示す文字列「\n」に変換しています。
12行目は、送信先のメールアドレスの設定です。