質問させてください。
先日以下の通り、メールを数日後に自動送信する方法を質問したものです。
http://oshiete.goo.ne.jp/qa/7051411.html
この時はDBの作成を提案していただいたのですが、残念ながらこちらの環境ではDBを使用できないようです。
代替案としては何かありませんでしょうか。
メールの送信ごとにスレッドを作成する方法も考えたのですが、大量をメモリを必要としますし、再起動すると送信する予定のものが全てなくなってしまうので・・・。
何度も申し訳ありません。
以上よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
DBでなくても、
ファイルに時刻やメール内容を記録しておいて
そのディレクトリのファイルにそって、メール発行して
終われば、それを削除する処理を書いたプログラムをcronで実行って感じでも可能ですよね。
ただ、atコマンドが使えるサーバーなら、メール発行処理をシェルファイルにしておいて
at 日時 < シェルファイル
で その日時で 実行予約できるので、このほうが簡単な場合もあります。
-----uniq_file.sh ----
/usr/lib/sendmaiil -t -ffrom@address.com << @@@
From: from@address.com
To: to@address.com
Subject : base64でエンコードしたタイトル
メール本文
@@@
-----------
Process process = Runtime.getRuntime().exec( "at 19:57 07112011 < uniq_file.sh");
process.waitFor();
という感じで。
確認は、 atqコマンドで待機リストを取り出せますし、
atrm ジョブ番号 で予約を取り消しすこことも可能です。
ただ、レンタルサーバーで、 Webサービスのアカウントが別のWebサービスと共通だと
よそのbatchコマンドやatコマンドの内容が見えてしまうので(見せてしまうので)
そういう場合はsudo を組み合わせて、独立したアカウントでatでの予約をする必要があります。
(ないしは、はやりcronで)
No.4
- 回答日時:
DBが使えないとすればテキストファイルに記録しておくのはどうですか?
イメージはsendmailとかのメールキューです。
1受付1ファイルで記録し、返信が終わったら消す。
ファイル名が重複しないように命名に工夫が必要ですかね。。。
ファイル名に受付日時を含めておくと、一定時間が経過したものを
拾い出すのに使えるかもしれません。
中身の形式例えば、1行めは日時、2行目はメールアドレスだとかでもいいだろうし
メールのヘッダみたいな形式でもいいだろうし、
XMLでも、JSONでもなんでも扱いやすいもので。
cronやタスクスケジューラで定期的に起動してもいいし
自作のプログラムを常駐させておいて、その中で定期的に
対象データのピックアップを行ってもいいかと思います。
No.1
- 回答日時:
先のご質問の回答にも提案されていますが、
メール受信の都度、 UNIX系だったら cron 、
Windows だったタスク・スケジューラに、メール送信処理の起動日時を
登録すれる方法で良いと思います。
ちなにみ、一日あたりの受信メールの件数は、どの程度と見積もっていますか?
あろがとうございます。
結局、DBを使用できる環境をなんとか用意して対応しました。
お知恵を貸していただいたのに申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(メールソフト・メールサービス) メールサーバーは「PC側がメールをDL済みか否か?」を何を以て感知するのか? 2 2022/12/20 14:56
- その他(メールソフト・メールサービス) Gメールについて質問 6 2023/06/14 18:02
- その他(メールソフト・メールサービス) Gメールの設定について教えて下さい。普通の送信者からのメールが自動で迷惑メールに受信しています。 グ 1 2022/11/19 21:40
- Gmail gmailで独自ドメインアドレスのメールが届かない件 1 2023/08/25 23:24
- ガラケー・PHS SMSメールの受信遅延原因はガラケー自体の欠陥では 8 2022/08/06 11:46
- UNIX・Linux Ubuntuサーバーでメールを受信できない 7 2022/08/23 20:55
- Google+ ブランド品偽物サイトからのメールを拒否する方法 批判覚悟で投稿します。 とあるサイトからブランド品を 2 2023/01/11 21:49
- Outlook(アウトルック) Windows11にしてからOutlook2019がすぐに固まってしまう件に関して。 2 2023/01/21 11:52
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- ビジネスマナー・ビジネス文書 内定先に送るメールについて 3 2023/03/07 19:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ループの中で mailItemObj.Disp...
-
ヒアドキュメントを利用してメ...
-
自動送信なのに個人名が入って...
-
UWSCにつきまして
-
HPの更新をしたら自動でメール...
-
コマンドプロンプトで添付ファ...
-
メールサーバをPHPで作り、win...
-
mb_send_mail関数により送信さ...
-
onedrive にexcelファイルをア...
-
PEARのmimeDecodeでメール解析...
-
awsにApacheとPHPを入れて、何...
-
拡張子php画像をjpg画像等に変...
-
日本語ファイル名のアップロー...
-
さくらサーバーにて、phpからメ...
-
PHP フォルダ名やファイル名に0...
-
拡張子php画像をbmp画像等に変...
-
php、JDライブラリを用いて画像...
-
フォントの色を変えるには?
-
PHPでxmlをAPIに送信する方法(P...
-
edmaxで送信できなくなりました
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードプレス、Contact Form 7...
-
コマンドプロンプトで添付ファ...
-
存在しないメールアドレスかど...
-
VB6にてメールを送信する方法
-
ヒアドキュメントを利用してメ...
-
メールアドレスの存在確認はで...
-
Bookを閉じて保存した時のみ実...
-
AccessのDoCmd.SendObjectについて
-
submitボタンの二重送信について
-
リファラが取得できない?
-
HPの更新をしたら自動でメール...
-
javamailで220の応答が遅い
-
Q)PHPでメール送信について
-
ループの中で mailItemObj.Disp...
-
mail関数を使うと遅いので
-
ロリポップと、phpで自動の返信...
-
<HTML>~入る タグ が無いから ...
-
phpメールフォームから送信され...
-
ランダムな文字列を生成しその...
-
VB.NETでフリーメールアドレス...
おすすめ情報