• ベストアンサー

送信日時を指定してメールを送信したい

質問させてください。 先日以下の通り、メールを数日後に自動送信する方法を質問したものです。 http://okwave.jp/qa/q7051411.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で)

ryu-e
質問者

お礼

ありがとうございます。 全く知らない実現方法でした。 検討してみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • tomaju
  • ベストアンサー率76% (84/110)
回答No.4

DBが使えないとすればテキストファイルに記録しておくのはどうですか? イメージはsendmailとかのメールキューです。 1受付1ファイルで記録し、返信が終わったら消す。 ファイル名が重複しないように命名に工夫が必要ですかね。。。 ファイル名に受付日時を含めておくと、一定時間が経過したものを 拾い出すのに使えるかもしれません。 中身の形式例えば、1行めは日時、2行目はメールアドレスだとかでもいいだろうし メールのヘッダみたいな形式でもいいだろうし、 XMLでも、JSONでもなんでも扱いやすいもので。 cronやタスクスケジューラで定期的に起動してもいいし 自作のプログラムを常駐させておいて、その中で定期的に 対象データのピックアップを行ってもいいかと思います。

ryu-e
質問者

お礼

ありがとうございます。 DBが使えないとなると、やはりファイルが一番シンプルでしょうか・・・。 検討してみます。

全文を見る
すると、全ての回答が全文表示されます。
noname#147388
noname#147388
回答No.3

h2database とか sqlite3 とか Java上でうごくDBもNG? クローンで定期的にメールボックスをみて○日経過したものがあったら送信処理とかでもいいかもね。

ryu-e
質問者

お礼

ありがとうございます。 どうにもDB自体の使用がNGみたいです。 メールボックスを実装すればできるということでしょうか・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

先のご質問の回答にも提案されていますが、  メール受信の都度、 UNIX系だったら cron 、 Windows だったタスク・スケジューラに、メール送信処理の起動日時を 登録すれる方法で良いと思います。   ちなにみ、一日あたりの受信メールの件数は、どの程度と見積もっていますか?

ryu-e
質問者

お礼

あろがとうございます。 結局、DBを使用できる環境をなんとか用意して対応しました。 お知恵を貸していただいたのに申し訳ありません。

ryu-e
質問者

補足

ありがとうございます。 一日あたりの受信メールは、10件程度と見積もっています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 日時を指定してメールを送信したい

    グリーティングメールなどではcgiを使用して日を指定してメッセージを送る機能がありますが、 通常のメールにおいて指定した日時にメールを自動送信するということは可能でしょうか? 具体的には… 私は帰宅が深夜になることもあり、メールの返信が深夜になるのですが、そのメールが携帯宛なので深夜の返信は迷惑と思われます。 そこで、深夜にメッセージを作成し、翌朝送信ということができればと思いました。 手動ですればいい話なのですが、何分数が多かったり毎日だったりになると負担なので。。。 何か方法は無いでしょうか? (深夜には送らないという方向での回答をお願いします) また、それとは別の話なのですが、 よく来る迷惑メールで、送信日時が2010年7月23日、というように未来の日時になっているものが届きます。 受信ボックスの一番上に表示され続けるのを狙ってのことと思いますが、これは何なんでしょう。どうやっているのでしょうか?

  • Win7ライブメールの送信トレイの在処?

    http://okwave.jp/qa/q7541661.html ↑前回の質問です。 多分、最新のライブメールを使った事の無い方の回答だと思いますが・・・ ライブメールの送信トレイって何処にありますか? 「送信トレイに未送信があります・・・」の警告が出て消せません。 OEには送信トレイがありますが、LMには見当たりません。

  • javamailでメール送信ができません

    javamailでメールを送信しようとすると エラーが表示されます。 コードとエラー内容http://okwave.jp/qa/q6678667.html いったい何が原因なのかさっぱりわかりません パソコンのセキュリティソフトはすべて削除しましたし ファイアーウォールも無効にしています。

    • ベストアンサー
    • Java
  • 送信していないメール

    メールをしていないのに、メールの送信簿に大量に送信済みとして記録が残っており、たいへん不安です。 送信先はjp-spam@support.trendmicro.com とあり、添付書類もあるようです。 どうしたらよいでしょうか? 早急に回答をお願いします。

  • 日時指定メール

    日時指定メール  いつも、解答いただきありがとうございます。  携帯電話 ソフトバンク シャープ202SH  を使用しています。 ●(Q01) 日時を指定して送信するメールは、どのようにすれば、よいですか?  機能の名前だけでなく、簡単な操作方法を知らせていただくとありがたいです。  昔J-PHONEの時には、グリーティングメールと言うのがありました。ここでは、発信するときの日時を指定することができました。ここでは、メールの最初の画面で グリーティング  と言うのを選ぶと日時を指定することができました。しかし、今の 携帯電話 ソフトバンク シャープ202SH  では、このような指定がありません。 ----------  携帯電話 ソフトバンク シャープ202SHのメールからは、  チャットフォルダ  と言うのがあります。  グループ 1 2 3  と言うのがあってグループの中で、相手先のメールアドレスなどを設定できるようになっています。 ●(Q02) どうやら、グループを設定してチャットを利用できるようになっているらしいのですが、具体的に送発信をして利用するには、どのようにすればよいのでしょうか? ●(Q03) 実際には、インターネットのチャットではなく、相手を指定したメールの交換だと認識していますが、  通信料や、書ける文字の制限などどうなっているのでしょうか? ●(Q04) MMS(S!)と同じ制限なのでしょうか? ----------  迷惑メール対策として受信した迷惑メールをソフトパンクに申告するようになっています。  しかし、申告したその時から迷惑メールが受信されないのではなく、ソフトパンクで、集計して内容を吟味して該当すると判断して初めて削除されるので時間がかかります。  嫌がらせの知人や元恋人、子供、親など、DVの場合は、当人にとって迷惑メールでも、ソフトパンクでは、迷惑メールとは、認識しないでしょう。 ●(Q05) 携帯電話 ソフトバンク シャープ202SHの中で、振り分けて迷惑メールを特定のフォルダに集めるとかできないでしょうか?  迷惑メールフォルダの一覧を見て全て削除になります。  迷惑メール対策として、ドメインで分類するなど色々な方法があります。 --------------- ●(Q06) 回覧板のように登録した相手のメールアドレスに順番に回してイベントの誘いや、耳寄り情報、飲み会や食事会の集計などの使えるメールて使えないのでしょうか?  昔、J-PHONEでは、どの様の機能のリレーメールと言うのがありました。 -------------------  J-PHONEでは、複数の友達に同じ文面のお誘いメールを送るのに使う コーディネータ  と言うメールが、ありました。複数の同時発信メールと違うのは、全員からの返信が 4人出席、2人欠席 と言った具合にひとつの集計メールで確認できることです。返事を書くほうも、「YES」「NO」「コメント」と簡潔に答えやすいようになっています。 ●(Q07)今は、同程度のメールは、無いのでしょうか? -------------------  携帯電話 ソフトバンク シャープ202SHに限らず、シャープなら同様な操作になっていますので、何か参考になることがありましたらたとえ一つだけでも、お知りのことがありましたらよろしく教授方お願いします。  敬具

  • windowsメールで送信できない時がある。

    windowsメールでメールを作成し送信すると送信済みアイテムに記録されるのですが、実際には、相手にはメールが届きません。送信済みアイテムにある宛先を右クリックしプロパティの詳細を見ると To: =?iso-2022-jp?B?T To: =?utf-8?Q? というような表記がある時に相手にメールが届いていないように思います。 ただ全く、送信できないとは言えません。amazon monotaro等には送信でき、注文できます。 なんとか解決策を教えていただけないでしょうか。

  • Hotmailの送信中身を送信日時同じでローカルに

    すみません友達の相談のってて質問です Hotmailでやり取りをしたものをローカルに保存したくなったらしく悩んでます 彼はOE6を使っています 受信メールは転送でローカルにあるのですが 送信はHotmail上にあるだけです(それをローカルに移したいらしい) 1)送信済メールを転送してローカルに飛ばしたら??  >>>それじゃ送信日時が変わってスレッドにならない・・確かに 2)HotmailじゃIMAP使えない  >>>Gmailだったらよかったのにw で自分が考えた方法 1)Hotmail上で送信済箱」の中身を全部受信箱に移動  BeckyインストしてHotmailアカウント入れてリモートメールボックスで中身をダウンロード  あとはemlなり何かでOEに持ってけばいいかも って・・  OEやOutlookにはたぶんリモートメールボックス的な機能は無かったような・・ 皆さん他になんか方法ありますか 教えて下さい よろしくお願いいたします

  • 送信済みWindows Mailが残りません!

    パソコン、初心者ではありませんが、あまり詳しくありません。 Windows vistaを使っています。メールソフトはWindows Mailです。 数日前から送信したメールが「送信済みアイテム」に残らなくなりました。 相手には届いています。 こちらのサイトで似たような状況を調べて「Windows Essential」のアンインストール」というのをやってみましたが、ダメでした。ただし、プログラムはWindows Essentialでは出てこなくてWindows Live Mail となっており、こちらをアンインストールしたので関係ないかもしれません。 また、スレッドをオフにする、という方法も示されていましたが、「表示」の中にスレッドの項目はありませんでした。 オプションの送信のところで、「送信済みアイテム」に送信メッセージのコピーを保存、という項目にはチェックは入っています。 原因がわからず、とても不便で困っております。 よろしくお願いします。

  • メールの送信について。

    メールの送信方法を教え下さい。 メールの作成画面に送信ボタンが表示されておりません。 どのようにすれば送信が出来のだしょうか、宜しくお願い致します。

  • メモリ送信を使用して送信

    メモリ送信を使用して送信  ■皆さん、こんにちは。いつも回答頂きありがとうございます。  以下の名前のFAXを使用しています。  NTTFAX-415 この機種は、以下の機械と同機種です。上記は、以下日立のFAXのOEM商品です。  HIFAX131M HIFAX121M  これには、HIFAX増設メモリ 1/2MB と言うのがあるのですが、これが、なかなか手に入りません。NTTも日立も入手できないとのことです。機種が古くなっているせいでしょう。  一部のカバーを外すと差し込み口が見えるのです。このメモリは、でんでんむしのような格好のメモリではないかと思量しています。独自のメモリではなく、何かの汎用のメモリの流用でしょう。  同等品でも良く、代替品でも構いません。  なんとか手に入れる方法は、無いでしょうか?  メモリは、メモリ送信のために使用します。図面をいったんメモリに記憶してから、複数の送信先に送付するやり方です。使用では、内蔵のメモリでも、A4で、10枚程度の原稿を記憶できる仕様なのですが、実際には、地図を送付すると大量にメモリを消費して、B4一枚程度しか送付できずに困っています。  代替の方法や他のアイデアでも結構です。  いくつかの相手に連続して資料を送信したいのです。  たとえ、一つだけでも、お知りのことが有りましたら、   よろしく教授方お願いします。 敬具