Try関数中の 何らかのプログラム (program)を実行し、エラーがなければ、実行完了メール。
エラーを取得すれば、構造体MEが生成され、エラー通知とエラー内容メールを送信するコード
### <プログラム使用例>
clear %初期化
try
program %処理するプログラム
catch ME %エラー内容を取得
end
mailsend; %本プログラム
メインコード (mailsend.m )
% Gmail / Yahoo の送信アドレス・サーバー設定
% 現時点でYahooメールからの送信を用いているため,Gmailの設定は未使用。
% Define these variables appropriately:
% 送信元のアドレス,パスワード
Mail.sendAdd = '________@yahoo.co.jp'; %Your Yahoo email address
Mail.sendPassword = 'password'; %Your Yahoo password
% Yahoo サーバー
setpref('Internet','SMTP_Server','smtp.mail.yahoo.co.jp');
% Gmailサーバーを使用する場合は以下のコメントを外す。
%setpref('Internet','SMTP_Server','smtp.gmail.com');
%送信元アドレス設定
%SMTP設定
setpref('Internet','E_mail',Mail.sendAdd);
setpref('Internet','SMTP_Username',Mail.sendAdd);
setpref('Internet','SMTP_Password',Mail.sendPassword);
%Java設定
Mail.Props = java.lang.System.getProperties;
Mail.Props.setProperty('mail.smtp.auth','true');
Mail.Props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl.SSLSocketFactory');
Mail.Props.setProperty('mail.smtp.socketFactory.port','465');
%送信先情報の指定
%メール送信先・パソコン名の設定
%計算しているパソコン名の取得 (例: Mail.namePC='XXX')
%% Mail_contents
[~,Mail.namePC]=dos('hostname'); %PC名の取得
%メール送信先の指定
%Mail.receiveAddに指定されたアドレスにメール送信
Mail.receiveAdd='xxxxxxxxxx@______.jp'; %メールの送り先
%メール本文
Mail.isME = exist('ME','var'); %エラー情報を取得
if Mail.isME ==1 %1:エラーがあるかどうかを判断
%エラーがあれば、メールのタイトルにエラー通知(Tmp.mailTitle)、内容にエラー文(Mail.errorMsg)を含むメッセージ(Tmp.mailMessage)を指定
Mail.errorMsg=ME.message; %エラー文を取得
Mail.mailTitle=strcat(Mail.namePC,':!Calculation Error'); %エラーメールタイトル
Mail.mailMessage=strcat('エラーメッセージ:',Mail.errorMsg); %エラーメッセージ
else
%エラーが無ければ、メールのタイトルに計算完了通知(Tmp.mailTitle)、内容にメッセージ(Tmp.mailMessage)を指定
Mail.mailTitle=strcat(Mail.namePC,':Finish Calculation');
Mail.mailMessage=strcat('Finished Time (DD-MMM-YYYY hh:mm:ss):',datestr(now));
end
%メールの送信
%送信先アドレス(Mail.receiveAdd)にタイトル(Tmp.mailTitle)、メール文章(Tmp.mailMessage)のメールを送信
sendmail(Mail.receiveAdd,Mail.mailTitle,Mail.mailMessage); %メール送信