• ベストアンサー

C言語でのメール送信

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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 ということで、まずは自分のアドレスに対してシェルスクリプトでメールを送ってみて届くか確認してみたらどうでしょうか。

zunzunzunzunzun
質問者

お礼

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

その他の回答 (1)

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.1

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

zunzunzunzunzun
質問者

お礼

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

関連するQ&A

  • Linux Cからのメール送信

    Linux上Cプログラムでメール送信を行いたいと思って います。 Cからシステムコールでsendmailを実行する方法は わかったのですが、純粋にSMTPサーバーにC言語から アクセスして送信する方法など可能なのでしょうか?

  • C言語でメール送信

    C言語でメール送信プログラムを作成する必要が 出てきました。(C++ではありません) 環境はWindowsです。 STMPに接続して・・・などの手順はなんとく調べたのですが、 実装となるとさっぱりです。 ご存知のからよろしくお願い致します。

  • C言語のプログラム内でトリガをきっかけにメール送信したい。

    Web通信系初心者です。 プラットホームWin2003で、C言語で作成したプログラム内で、あるトリガをきっかけに携帯電話へのメール送信を行いたいのですが、Cプログラムで作成することは可能なのでしょうか? サンプル等があればうれしいのですが。Webで検索してもCGIやJscriptやPerlのサンプルしか見つけれませんでした。純粋なC言語のみで作成したいのですが。。。 もし無理な場合は Cプログラムのトリガをきっかけにどのようにすれば携帯電話へのメール送信が可能になるか教えて頂ければと思います。 よろしくお願いします。

  • 【C言語】メールを送信するプログラムについて

    お世話になっています。 perl(Linuxでもあるのでしょうか?)で扱えるsendmail関数は、 宛先さえ指定すればメールを送信出来ます。 その機能を実装したいのですが、可能でしょうか。 つまり、SMTPサーバーを指定せずに送信機能が使いたいのです。 理由は、ソフトウェアでアンケートソフトを作りたいのですが、 例えばGmail等のサーバーを借りて、そのアカウントのSMTPを指定したソフトを配布した場合、 どえらいことになってしまうのではないか!?と思っていますし、実際そうなると思うので…… ご存知のかたがいらっしゃいましたら、実装が可能か、またどのような言葉で調べればいいかなどご教授ください。 よろしくお願いいたします。 なお、開発環境はWindowsです(7 home 64bit) ※蛇足ですが、実はC言語で実装ではなくActiveBasicというBASIC言語で開発しようとしています。 ですが、VBの用にマクロが充実しておらず、おそらくActiveBasicと言ってもご存じの方が少ないと思いC言語のフォームで質問させていただいております。 もちろんC言語でのご回答で大丈夫ですので、お願いします。

  • C言語のエラーが無くなりません

    はじめまして。 現在C言語でプログラムを組んでいるのですが、不明な点がありますので質問させて頂きます。 while文とかif文を使って、プログラムを書き終える時に当然いくつかの「}」を使って締めます。そのとき、「}」が自動でだんだん左寄せになってくのですが、自動で左寄せにならない場合、原因は何でしょうか。 以上です。何卒ご教授の方よろしくお願いいたします。

  • C言語 Linux Mac

    Mac Linux C言語 MacでLinuxをダウンロードするにはどうすれば良いのでしょうか? (種類が多くて困っています) 今日C言語を主に扱う会社に面接に行ってきて、帰り際に「Linux上で動くC言語のMACアドレスを検知するプログラムを一週間後までに作ってきてくれ」と頼まれました。 OSとしてはMacを使っていて、まずはLinuxをダウンロードしたいのですが種類が多すぎて選べません。 Linux上で動くC言語のプログラムを作りたい場合どのLinuxの種類をダウンロードするのが適切でしょうか? Web系(HTML,CSS,JavaScript)の職業訓練を半年受けていたので本当に基本的な事はわかってると思うのですが VirtualBoxでLinuxをダウンロードする際「Download VirtualBox for Linux Hosts」まで行くのはわかるのですが、その後種類が多く困っています。 どれをダウンロードするのが適切でしょうか?(画像の画面の場合です。)

  • C#のメール送信でエラーが出るのですが・・・・

    こんにちは最近、自分の担当のプログラムを作っているところなんですが、どうしてもエラーがでて直りません。 それがデバッグ中にでるものではなく動作中に起こるので困っています。 作っているプログラムはメールの送信のみを行うプログラムでC#でコーディングしています。 ちなみにエラー内容はメール送信時に「指定された文字列は、電子メールアドレスに必要な形式ではありません。」 一応、アドレス、SMTPサーバのアドレスともに確認しましたが、こちらは問題ありませんでした。 また個人的に検索してみたり人に聞いてみましたが、解決しませんでした。 どなたかご教授お願いします。

  • C言語で自動販売機のプログラムが組みたい

    C言語を使って自動販売機のシュミレーションプログラムを組みたいのですが、やり方がさっぱりわかりません。 どなたかご教授お願いできませんか。 できたら、プログラムの例も書いてくださるとうれしいです。

  • C言語 if文

    C言語のif文についての質問なのですが、ifを使い、条件Aの時は1のプログラムを実行、条件Bの時は2のプログラムを実行するようにしたとき、1と2のプログラム自体にもif文が使われています。その場合は、AとBの時のifと1と2に使われているifをどのように区別するのですか?(ちなみに1と2のif文については、それぞれ実行してみたところ動作可能でした。)説明が下手ですいません。初心者ですので、分かりやすく教えていただけると有難いです。

  • c# メールが送信できたか確認

    System.Net.Mailを使ってメールを送信するのに、例えば存在しないメールアドレスなどを受け取りにして試したのですが、SmtpFailedRecipientsException ex で例外をキャッチしようとしても(MSDNのサイトにあった例を使用)されませんでした(勘違いでなければですが・・)。プログラム上でメールがちゃんと送信されたか確認するにはどうすればいいでしょうか? VS2005、ウィンドウズアプリケーション、C#

専門家に質問してみよう