- ベストアンサー
UNIX-Cで、SMTP送信するAPIとかないですか?
toysmithの回答
- toysmith
- ベストアンサー率37% (570/1525)
SMTPに特化したAPI(っていうか、システムコール)はありません。 全てを自前で制御するならSocketシステムコールを使う必要があります。 smtp(プロトコルtcp ポート番号25)を使って通信するなら… 1.接続先ホスト(この場合SMTPサーバ)のIPアドレス決定 gethostbynameまたはgethostbyaddr 2.サービスポート決定 getservbynameまたはサービスポート番号直接指定 3.ソケット生成 socket 4.接続 connect 5.送受信 サーバーに対してSMTPコマンドを送信しステータスを受信。これを繰り返す。コマンドにはメールメッセージの送信コマンドが含まれる。 文字コード変換やMIME変換などはSMTPのサービスではないのでアプリケーション側で行う。 send(writeでも可)、recv(readでも可) 6.切断、ソケット廃棄 shutdown,close(closesocketがあればそちらでも可) SMTPサービスおよびiso-2022-jpコード、MIMEについては該当するRFCを参照してください。 以下、老婆心ながら… UNIXという名称は元祖の製品(UNIX Version 1~9およびPWB,System III,System V)のみに許される名称なのでこれら以外のOSをお使いならOSの名称とバージョンを明記してください。 とりあえず、POSIX(UNIX互換OSの標準仕様)でサポートされる機能のみで考えました。
関連するQ&A
- winsock APIをUNIXで
初めて質問させて頂きます。 winsock APIの重複I/O(WSARecv,WSASend)、イベントシグナル(WSAWaitForMultiplrEvnts)に変わるものをUNIX(サーバー側)で実現させたいと考えております。 fcntl,select関数を使って実現出来るようなのですが、サンプルとなるソースが無く使い方がよく分かりません。 お分かりの方、ご教授お願い致します。 それと参考になるページ、本がありましたらあわせて教えて頂けると助かります。
- 締切済み
- その他(OS)
- UNIXのpasswd
UNIXユーザのパスワードを変更するAPIを知りませんか?passwdコマンドはTTY入力が必要なのでNGです。 アプリケーションの中からパスワード変更したいのですが該当するAPIをご存じの方、教えてください。 OSはSolarisです。
- 締切済み
- その他(OS)
- 設定ファイルのAPI
UnixのC言語でini形式の設定ファイルを取り扱うAPIなどございますでしょうか?ご存知の方がいらっしゃいましたらご教授下さい。 何卒宜しくお願いいたします。
- ベストアンサー
- C・C++・C#
- unixへのSMTPコマンドでメールが送れません
windows2000のPC1台と、SolarisOSを積んだunix機が1台(Postfixが素人によりインストールされている状態)あります。 windows2000から、フリーソフトTeraTermを使い、telnetでunix機の25番ポートにSMTPコマンドで 下記のようにメールを送りましたが、エラーが出てしまいます。関係あるかわかりませんが、 resolv.confには社内DNSアドレスが正しく記入されていました。 エラーから、ホストかドメインが見つからなくて、DNSに関連しているだろうことはわかりました。 解決へのヒントをください。よろしくお願いします。 【送ったコマンド】------------------------------------------------------ telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 tokyo_unix.localdomain ESMTP Postfix mail from:tekito@ezweb.ne.jp 250 2.1.0 Ok rcpt to:root@tokyo_unix.localhost 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> from:tekito@ezweb.ne.jp to:root@tokyo_unix.localhost subject:test date:2008/1/24 10:20:30 送信テスト . 250 2.0.0 Ok: queued as 1A34567DA quit 221 2.0.0 Bye Connection to localhost closed by foreign host. 【エラー】------------------------------------------------------------ 3E84667C0 351 Wed Jan 23 09:17:40 tekito@ezweb.ne.jp (Host or domain name not found. Name service error for name=localdomain type=A: Host not found) root@tokyo_unix.localhost F2A2C678B 336 Mon Jan 21 09:51:14 tekito@ezweb.ne.jp (delivery temporarily suspended: Host or domain name not found. Name service error for name=localdomain type=A: Host not found) root@tokyo_unix.localhost --------------------------------------------------------------------
- ベストアンサー
- その他(ITシステム運用・管理)
- APIについて
文字列をsjisからjisに変換して、 byte型に格納しているのですが dim data() as byte data()をapi関数に渡しているのですが、 apiに渡すときに、apiでの定義は bdata as byte となっていて、バッファを送信するとあります。 この場合、渡す方法としては、data()の配列数分のloopを 行い、1つずつ渡していく方法になるのでしょうか? よくわからない質問かも知れませんが、ご存知の方がいらっしゃいましたらよろしくお願いします。
- 締切済み
- Visual Basic
- UNIX/Cについて
今度仕事の都合でUNIX/Cでのプログラミングを行うことになったんですが、 C言語とUNIX/Cの違いがよくわかりません。 C言語を知っていれば、UNIX/Cはできるんでしょうか?
- 締切済み
- ネットワーク
- smtpでのメール送信?
最近レンタルするようになったサーバーがsendmailがつかえないと知りました。 smtpでもメール送信のスクリプトを組める様ですが、簡単なサンプルをご存知の方教えていただけないでしょうか? よろしくお願いいたします。
- ベストアンサー
- Perl
- メール送信
Windows2000でVB6.0のSP5を使用していますが、メールの自動送信を行いたいのですが、VBだけではできないのでしょうか? できる事ならあまり環境に依存したくないので、ActiveXやAPI等の使用は避けたいのですが、それしか方法がないのでしょうか? メールは新規メールが起動するのではなく、完全にプログラムからの自動送信を考えています。 つまり、データベース等のデータを使用してメール送信を全自動で行いたいのです。 どうぞ、よろしくお願いします。
- ベストアンサー
- Visual Basic
- APIって何でしょうか?
APIって何でしょうか? こんばんわ。 無知ですみませんが、APIって何ですか? Wikiなどで説明を読みましたが、分かりませんでした。 ・APIの役割って何でしょう? ・APIがなぜあるのか? ・関数コールと違うのか? ・APIが無いとどうなるのか? ご存知の方、教えてください。 (お礼が遅くなるかもしれませんがお願い致します)
- ベストアンサー
- Windows XP
- C#をAPIで取得したいです
こんにちは。 APIの取得プログラムを書くのは初めてです bootstrapを使っているAPIで スレッド型のサイトです スクロールさせると、新しい投稿が追加されるサイトで、 bootstrap-scrollspy.jsやbootstrap-dropdown.jsを使っているようです 1スレッドずつ取得したいのですが、初めの1ページだけしか取得できていません 環境は Windows 7 Pro i7 mem 24GB VS 2012 Express C# 現在はNewtonsoft.Jsonを使って試しています 回答よろしくお願いします
- 締切済み
- その他(プログラミング・開発)
補足
回答ありがとうございます。 そうですか。SMTPのAPIってないんですね。。。 ソケットでSMTPを意識したSOCKETプログラムを組むかシステムコールのmailコマンドを呼ぶ方法のどちらかしかないんですね。 システムコールの場合、送信エラー等の通信エラーをプログラム側で拾う事ってできますか? 今回のプログラムはバッチで大量のメールを送るプログラムなのですがシステムコールで行うと性能的には問題ありませんか? ちなみに、OSはsoralis2.6です。