![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
> POP3のコマンド(STAT,REST・・・)はUNIX-Cの関数にあるのでしょうか?
POP3 のコマンドは、socket でサーバに送信するものです。send や write を使います。
> また、基本的なことなのですが、SMTPで他メールサーバから受信したメール群は
> 自動的にPOPサーバに以降されるのでしょうか?現在サーバの設定は特にしていない
> のですが・・・。
SMTP と POP3 が別のホストになっている場合には、SMTP のサーバから転送してあげないといけません。
同じサーバであれば、両方とも同じ spool をみるので、特に意識する必要は無いです。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?e8efa67)
No.4
- 回答日時:
ここのサイトを参考にしてください。
http://sanaki-web.hp.infoseek.co.jp/tcpip/pop3.htm
ただし、ログインユーザ全てとなると、以下の方法が考えられますね。
(1)上記のPOP3コマンドをすべてのユーザとして投げる。
(2)スプールのメールを解析する。
質問の(3)は単にテキスト等にリダイレクトかければいい訳です。
(4)と(5)もヘッダ情報を取得すれば、単純なそうですね。
いずれにしても、スプールを解析するか、リモート受信するかどうかですね。
参考URL:http://sanaki-web.hp.infoseek.co.jp/tcpip/pop3.htm
この回答への補足
mailxコマンドを子プロセスからexecv関数にて実行し、
親プロセスにて"s [filename]\n","q\n"を出力して1メール
ずつ処理していきたいのですが、mailxコマンドの結果受信メール
の有無が取得できないため困っています・・・。
POP3プロトコルを使用すればmailコマンドは必要ないのですね。
POP3のコマンド(STAT,REST・・・)はUNIX-Cの関数にあるのでしょうか?
また、基本的なことなのですが、SMTPで他メールサーバから受信したメール群は
自動的にPOPサーバに以降されるのでしょうか?現在サーバの設定は特にしていない
のですが・・・。
No.3
- 回答日時:
> mailコマンド起動の方で探してみようと思います。
そちらの方が簡単だ、と思うのは あ・ま・い 。
対話的に使うわけですから、それほど難しさは変わらないです。
> でもサンプルがなかなかなくて・・・
ちょっと探してみました。キーワードを "pipe dup close fork mail" といったところで。
pipe システムコールの典型的な使い方になるのですが、メールの送信の例はたくさん
あるのですけれどね。
例えば、として参考URL の pipemail.c とか。
このソースで、親プロセスの受信用のハンドル(pfd[0])を close しないで、
こちらからメールの内容と mail コマンドのプロンプトを読み取りつつ、メールを保存し、
適当な終了判定をする、という感じになるでしょうか。
参考URL:http://www.cs.odu.edu/~cs476/unix/codelectures/
すみません、イマイチどのようにやり取りすればよいのかわかりません。例えば、3通受信メールがある場合、子プロセスでexec*を使いmailコマンドを実行し、
1通目からメール内容を取得していきたいのですが・・・。
No.2
- 回答日時:
書き忘れたことをもうひとつ。
もし、あなたが、Windows 系のプログラムの方が得意なのであれば、参考URL のような
コンポーネントを使う手もあります。
参考URL:http://www.hi-ho.ne.jp/%7Ebabaq/basp21.html
No.1
- 回答日時:
> プログラムからmailコマンドを起動してやるしかないでしょうか・・。
これもひとつの手ではありますね。
私なら、直接 socket を POP につないでやり取りしちゃいます。
socket を知っているのであれば、テキストのやり取りなので、さして難しいプログラムではありません。RFC1939 を参照ください(→参考URLのひとつめ)。
サンプルは幾らでも Web に転がっています。ちょっと探してみました(→参考URLのふたつめ)。
コメントが英語ですらないですが、ソースを読むだけだったら問題ないですね。
わりかし ベタっと 書いてあるので、流れは追いやすいでしょう。
面倒だとしたら、MIME の処理(いわゆる添付ファイル)かなあ。
参考URL:http://www.spencernetwork.org/reference/rfc1939- …
この回答への補足
POPでやるとすると、各ユーザ名、パスワードが事前にわかっていないといけないですよね?
POPにするかmailコマンドにするか悩みどころです・・・。
回答ありがとうございます。私にはちょっと難しかったです・・・
mailコマンド起動の方で探してみようと思います。
でもサンプルがなかなかなくて・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- Gmail 家から自分のg-mailで添付ファイル付きのメールを4通、職場の自分宛てに送りました。次の日に見ると 3 2022/09/08 12:35
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- その他(メールソフト・メールサービス) メッセンジャーやラインって送信しても数分以内なら送信取り消し出来るじゃないですか?でもG-mail等 2 2022/05/11 21:58
- Outlook(アウトルック) Outlookのメール送信を取り消す方法 1 2022/11/17 13:10
- au(KDDI) AUメールが受信できなくなった件 1 2022/08/16 10:35
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- その他(メールソフト・メールサービス) メールソフトからの送信ができなくなりました 6 2022/11/21 19:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルでキー操作を行う。
-
コマンドプロンプトが実行中か...
-
(コマンドプロンプト)コマンド...
-
コマンドプロンプトですべてのU...
-
ExcelVBAでDOSコマンドの標準出...
-
makefile
-
ttlで戻り値を取得する方法
-
VISTA での net send について
-
エラーについて
-
makeコマンドのエラー
-
パワーシェル 画面解像度 変更
-
別のユーザーフォームのコマン...
-
Tera Term Proに関する質問です。
-
python でos.systemでの実行時...
-
Pythonのターミナルをクリアし...
-
No.1687のつづき
-
コマンドプロンプトで表示が多...
-
ローマ字入力で「トゥ」を入力...
-
「未使用」と「不使用」ってど...
-
自動改札のエラーって…
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイルでキー操作を行う。
-
コマンドプロンプトで表示が多...
-
コマンドプロンプトが実行中か...
-
ttlで戻り値を取得する方法
-
VBユーザーフォームで時間入力
-
Tera Term Proに関する質問です。
-
TEXの表の位置が・・・
-
EEPROMのデータの初期化について
-
別のユーザーフォームのコマン...
-
PowerShell実行結果をデスクト...
-
コンボボックス(最終行取得)
-
コマンドキーがないんですけど...
-
コマンドプロンプトですべてのU...
-
RTX1100の削除コマンド
-
dosバッチ起動後、画面を閉じな...
-
ディスクの空き容量を取得する...
-
文字の点滅はどうやるのですか?
-
ルーターにつながっている全て...
-
makeコマンドのエラー
-
UDP通信での受信方法について
おすすめ情報