dポイントプレゼントキャンペーン実施中!

C言語でメール送信するプログラムを作りたいのですが、良く分かりません。ある条件を満たしたら設定しておいたメールアドレス先にメールを自動送信するようなプログラムを作ろうと思っています。どなたかご教授お願いいたします。(プログラム初心者)
OSはLinuxです。
(例)
if (i == 100) {
メール送信***********
}

A 回答 (2件)

Linux なら (というかUNIX系OSなら) sendmail コマンドを popen() で開いてヘッダと内容を書き込んで pclose() するだけでできます。

(つまり、メールの送信は sendmail コマンドに任せるということです)。但し sendmail がデーモンとして動いている必要はあります。



FILE *fp;

if ((fp = popen("/usr/lib/sendmail -t", "w")) == NULL) exit(1);
fputs("From: xxxx@xxxx.com\n", fp);
fputs("To: yyyy@yyyy.jp\n", fp);
putc('\n', fp);
fputs("Test\n", fp);
fputs("Hello\n", fp);
pclose(fp);

実はこれはシェルスクリプトで書いた方がすっきり見易くなります。
シェルスクリプトだとこんな感じです。

#!/bin/sh

/usr/lib/sendmail -t <<EOL
From: xxxx@xxxx.com
To: yyyy@yyyy.jp

Test
Hello
EOL

ということで、まずは自分のアドレスに対してシェルスクリプトでメールを送ってみて届くか確認してみたらどうでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。これで1回やってみようとおもいます。ありがとうございました!!

お礼日時:2006/01/17 20:58

私もこの教えてグーで


指導していただきながらメーラー
を作りました。
 メーラー本
ソケットの本
サンプルコード
を見ながら、ウインドウズ上で動くものを
作りました。
 サンプルコードは、blatJ
で検索すると見つかります。
リナックスでの
メーラーの本と
ソケットの本は
良く分かりません。
 日本語の扱いが
面倒でした。
サンプルコードを見ながら
頑張ってください。
 blatJ
では、カタカナの全角の
ファイル名を持つ
ファイルを添付しようとすると
上手く動きません。
ソースコードの修正が必要です。
 けっこう時間がかかりますが
あきらめないで頑張ってください。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。なかなかむずかしそうですね… がんばってみます!

お礼日時:2006/01/16 21:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!