• ベストアンサー
  • すぐに回答を!

Perlでのメール送信

ご存知の方がいましたら、教えて下さい。 HPとメールが利用可能なホスティングを活用しています。 環境は以下となります。 (1)HPはホスティング (2)メールは自社環境 実施したいこと HPから同じドメインの自社メールサーバーへメールを送信 HP(www.xxxxx.co.jp)からaaa@xxxxx.co.jpへメールを送ると、同一ドメインに対するメールは、レンタルサーバー内にあるメールへの送信となり、外部に送信できません。 今は以下のように記述しています $mailto = 'aaa@xxxxx.co.jp' ; メールサーバーを指定してメール送信する記述方法などがありましたら、アドバイスをお願い致します。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数97
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.2

SMTPサーバーを外部にする以外の解決方法もあるのでコメントしました。 ただし、ホスティングの環境に依存してしまうため、 場合によっては有効な手段ではないかもしれません。 1つの解決方法ですが、DNSの設定を入れることです。ホスティング環境の名前解決で使用しているネームサーバー(レゾルバ)のmxレコードの設定で自社環境のIPを指定するということです。 ただしこれはホスティングの環境に依存してしまいますので有効な解決策かどうかは試してみないとわかりません。 (WEBの設定とメールの設定が連動しているとできないと思われます) 2つめの方法としては転送することで回避することができるかもしれません。(但し、これも環境に依存してしまいます) ホスティング環境のメールアカウントに転送設定をかけて、サブドメインに転送するようにします。(aaa@jisha.xxxx.co.jp) サブドメインのAレコードもMXレコードも自社側のサーバーをしておきます。 自社サーバー側でサブドメインでもメールを受信できるようにしておけばメールの受信ができると思います。 参考になりましたら。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

>ohnosatoruさん ホスティングサービスで、CGIを稼働させるサーバーのDNSで、 自社サーバ向けにすることができ、perlの記述を変更する必要がなく、解決することができました! ちなみに、ホスティングサービスはNTTcomのメール&ウェブProです。 アドバイスありがとうございました。

関連するQ&A

  • 特定ドメインにしかメール送信できないようにしたい

    お世話になります。 今回お客様の要望によりレンタルサーバ上にメールサーバを導入することになり、その際 自社内のドメイン宛にしかメールを送信できないように設定してほしいと要求されました。 普段はプログラミングのお仕事ばかりさせて頂いており、メールサーバの設定等は非常に疎いためほとほと困り果てております。 具体的にどのような設定方法があるかご呈示頂けないでしょうか。 動作環境としましては、レンタルサーバ上のCentOS 5.xが対象です。 VPS等の利用も検討しており、root権限は与えられているものと考えて頂いて問題ございません。 どうぞお力添えのほど、よろしくお願い致します。

  • ■どちらでメールを送信したほうがいいのでしょうか?

    ■どちらでメールを送信したほうがいいのでしょうか? メールの送信のことで質問があります。 HP開設のためにドメインを持っている(レンタルサーバを借りています)ので、ドメインメールを持っています。 このドメインメールを送信する方法は、下記の2つがあります。 (1)レンタルサーバから与えられた送信サーバ情報を設定して送信。 (2)プロバイダー(レンタルサーバとは全く関係ありません)から与えられた送信サーバ情報を設定して送信。 認証の設定さえ変えれば、(1)(2)どちらでも送信することが可能です。 ※方式としては、どちらもsmtpです。 どちらで送信したほうがいいのでしょうか? 送信できるならどちらでもいいようにも思うし今までは(2)で送信していたのですが、ドメインメールなんだからやっぱり(1)にすべきなのかなとか思い迷っています。 初歩的なことだとは思いますが、助言いただければ嬉しく思います。

  • PHPでメール送信

    こんにちわ。 PHP4でWEBサイトを作ろうとしております。その中で、フォームからメールの送信をしたいと考えているのですが、方法が可能かどうかおしえていただきたいと思っております。 WEBサーバとメールサーバが異なる場合でもメール送信は可能でしょうか。WEBサーバは自社内にあるのですが、メールサーバは、レンタル会社のものなのですが、そのレンタルサーバのSendmailを利用してメール送信することは可能でしょうか。 うまく説明できてないかもしれませんが、補足いたしますので、よろしくお願いします。

    • ベストアンサー
    • PHP

その他の回答 (1)

  • 回答No.1

以下のようにSMTPサーバのIPアドレスを直接指定すればできるかもしれま せん。質問には直接関係ないですが、社外のメールクライアントからの SMTP送信要求は、セキュリティではじかれませんか? ---- #!/usr/bin/perl use warnings; use strict; use utf8; use Encode; use Net::SMTP; # Require Authen::SASL Module use Net::SMTP::SSL; use MIME::Entity; my $mail_to = 'xxx@xxx'; my $mail_from = 'yyy@yyy'; my $mail_subject = '件名'; my $mail_body = << 'END_MAILBODY'; 本文1 本文2 END_MAILBODY $mail_subject = encode( 'MIME-Header-ISO_2022_JP', $mail_subject ); $mail_to = encode( 'MIME-Header-ISO_2022_JP', $mail_to ); $mail_from = encode( 'MIME-Header-ISO_2022_JP', $mail_from ); $mail_body = encode( 'ISO_2022_JP', $mail_body ); my $mime = MIME::Entity->build( From => $mail_from, To => $mail_to, Subject => $mail_subject, Type => "text/plain; charset=ISO-2022-JP", Data => $mail_body ) or die "mime build error : $!"; my $smtp_server = 'STMP サーバの IP アドレス; my $smtp = Net::SMTP->new( $smtp_server, Debug => 1 ) || die "smtp conn error : $!"; # SMTP 認証ありのとき my $smtp_acc = 'xxxxx; my $smtp_pwd = 'yyyyy; $smtp->auth( $smtp_acc, $smtp_pwd ) or die "smtp auth error: $!"; $smtp->mail($mail_from); $smtp->to($mail_to); $smtp->data(); $smtp->datasend( $mime->stringify ) or die "data send error : $!"; $smtp->dataend() or die "data end error : $!"; $smtp->quit;

共感・感謝の気持ちを伝えよう!

質問者からのお礼

>_--_1l1_1_さん 早速のご回答ありがとうございます。 perl記述に不慣れなので、教えて頂いた情報を元に格闘してみます。 >質問には直接関係ないですが、社外のメールクライアントからの SMTP送信要求は、セキュリティではじかれませんか? これも確認してみます。 ありがとうございました。

関連するQ&A

  • 同一ドメインの別サーバにCGIからメール送信できません

    独自ドメインでサイトを運営しています。 メールサーバとWEBサーバは別々のホスティングを使用しています。 WEBサーバにメール送信のCGIを設置しました。 他ドメイン宛には正常に送信できるのですが、同じ独自ドメインのメールアドレス宛に送信することができません。 formに別ドメインのアドレスを設定してみたのですが、送信ができなかった内容のエラーメールなども届いていません。 WEBサーバのホスティング業者に問い合わせたところ、サーバ側は適切に設定されていると回答されました。 メールサーバに迷惑メールブロックの機能があるようなので、スパム扱いされてしまっているのでしょうか? それとも、CGIに問題があるのでしょうか。 どこに原因があるのかがわからず困っています。 宜しくお願いいたします。

  • 自社ドメインアドレスのウイルスメールが届くなんて。。。

    レンタルサーバ(ホスティング)環境下で自社ドメインによるメールアドレスを用いていますが、先日、自社ドメイン(@以降が自社登録のドメイン)メールアドレスを用いたウイルスメールが届き、驚いています。@以前は"service"となっており、存在しない、つまり設定したことの無いIDです。そのメールのプロパティを精査しましたが、どう見ても"service@自社ドメイン"というメールアドレスを用いているようにしかみえません。ウイルス発信者がこんな手法を用いることは可能なのでしょうか。あるいは自社の中にウイルスに感染したPCがあり、そこから発信されたと考える方が妥当でしょうか。どなたかアドバイスお願いします。

  • 突然メールの送信ができなくなりました。

    今日の夜急にメールの送信ができなくなりました。メールを送信すると、「メールサーバーへの接続に失敗しっぱいしました」と出て、メールはそのまま送信箱に移動してしまいます。重要なメールを送ろうとしてるところなのでこまっています。 ちなみにメール送信ができないアカウントはレンタルサーバーのアカントです。 現在の状況としては、、 ・インターネット接続とメール受信は可能(メインプロバイダは送受信問題なし) ・メールアカウントの設定は一切いじっていません。 ・送信サーバーのアドレスを一時的にメインプロバイダのアドレスに書き換えて送信すると送信できる ・サーバーの容量やレンタルの期間、ドメインの期限はすべて確認済 以上のことから、レンタルサーバーの送信サーバーになんらかの異常があるのかと思うのですが、、 夜なのでたぶん業者には連絡はとれないのでしょうか?

  • メールの送信先を知りたい場合には。

    メールの送信先を知りたい場合には。 法人ですが、とある会社のホスティングサービスを利用しているのですが、 (メールサーバを自社内に置かずにサーバをレンタルして離れた場所で管理してもらうサービス) 特定のメールアドレスからの送信メールの送信先を調べることは可能でしょうか。 その会社に問い合わせたところ、「無理です」と返事が来ましたが…。 理由は、メールを変な所に送っていないか調査するためです。 (例:社外秘情報を悪用している) ちなみに、特定のメールアドレスを使用していたパソコンは離れた場所にあるため、閲覧することはできません。 また、送信済みメールも削除している可能性が高いです。 有償無償にかかわらず、何か方法がありましたらお教え頂きたいです。

  • Q)PHPでメール送信について

    Q)PHPで外部のレンタルサーバーにメール送信したいのですが上手く 送信できません。 (現在の状況) ・OutlookExpress だと勿論okです。 ・社内のメールサーバー(ArGo Mail) にはLAN,及び外からも 送信できました。 (レンタルサーバーの状況) 1)メールサーバーのMTAとしてqmailを採用しています。 2)SMTP-AUTH Outlook Expressの設定(Ver.5.5 6.0) 3)POP before SMTP  となっていますが、1)は業者さんに自社サーバー内でテスト頂き、okでした。 ------------------------------------------------------------ となると、原因は (1)私のルーター設定の問題 (2)PHPで   2)SMTP-AUTH Outlook Expressの設定(Ver.5.5 6.0)   3)POP before SMTP を対応させるの何れか?ぐらいしか思いつかないのですが 私のレベルが低いのでどこから取り組んだらいいのかよく解りません、何方かご教授宜しくお願いいたします。 ------------------------------------------------------------ テストしたPHP <?PHP mb_language("Ja") ; mb_internal_encoding("shift-jis") ; $mailto ="hanako@aaa.bbb.cc"; $subject ="花子さん"; $content ="よろしくお願いします。"; $mailfrom "From:" .mb_encode_mimeheader("yorosiku") ."<taro@xxx.yyy.zz>"; mb_send_mail($mailto,$subject,$content,$mailfrom); ?> ------------------------------------------------------------ (環境) Windows xp(sp2) Apache(V2.0.58) PHP(V5.1.4)

    • ベストアンサー
    • PHP
  • メールの一斉送信について

    お世話になります。 よく会社などでメールの一斉送信のできる アドレスが設定されていますが、これはメールサーバー にそのような機能があるのでしょうか? 会社で一斉送信ができるようにしてくれと 頼まれたのですが、当方素人なもので、方法が わからずに困っております。 メールサーバーはレンタルサーバーを借りて いるようです。 どうかよろしくお願いいたします。

  • Perlを使ったCGIでHTMLメールの送信

    Perlを使ったCGIからHTMLメールの送信がしたいです。 そして、そのメール本文に、Formタグのボタンを付けて、そこからCGIのページを開きたいです。 メール送信はできていて、受信した時にHTML形式のメールになっているのですが、FormのボタンからさらにCGIを開こうとすると、ページは開いても、Body部分は空の状態のページが開きます。 そのFormの部分は、HTMLのページ上に設置するとそこからは希望通りのページの表示をしてくれます。 メール本文中にFormタグを設置してもうまく動かないのでしょうか。 CGIのメール送信部分は以下です。 my $mailtext =<<"MAILTO_TEXT"; To: aaa@bb.co.jp Cc: From: aaa@bb.co.jp Subject: テストです Content-Transer-Encording: 7bit Content-Type: text/html; charset=ISO-2022-JP テストです。<Br><BR> 下のボタンを押してご確認ください。<br><br> <form name="mst" method="post" action="aaaaaa.cgi" enctype="multipart/form-data"> <input name="submit" type="submit" value="詳細"></form> MAILTO_TEXT open(MAIL,"| $sendmail -f $mailto -t") ; print MAIL $mailtext; close (MAIL); おかしい部分、足りない部分などありましたら教えて下さい。 どうぞよろしくお願いいたします。

  • メールが送信できたりできなかったりします

    お世話になっております。 首記の件、自分の環境より、とあるドメイン宛てに送信するメールが届いたり届かなかったり、また遅延したりします。 相手側は24時間稼動しておりますし、相手からのメールは問題なく受信できているため、おそらくこちら側のメールサーバーではないかと思っております。 どういった可能性が考えられるのでしょうか?また、どういった情報を集めるべきでしょうか? 大変申し訳ありませんが、ご教授願います。

  • メールの送信のみできない

    ホスティングサービスを利用して 自分のところでドメインを持っています。 先日まで問題なく自社ドメインでメールの受信 送信が出来ていましたが突然できなくなりました。 下記のようにエラーメッセージがでます。 ----------------------- 受信者の1人がサ-バ-によって拒否されたため、メッセ-ジをそうしんできま せんでした。 サ-バ-の応答:550<***@********.com> Relaying denied. SMTPサ-バ-:mail.********.co.jp エラ-番号:0x800cc79 --------------------------- どのようなことでしょうか? 無線LANでつないでいます、またPC本体はWin ME です。

  • 自社サーバーの構築

    今までレンタルサーバーを借りて自社ドメインwww.自社.co.jpを運用していたのですが、メール送信可能容量の関係でレンタルを大型のものに切り替えるか、自社で立ち上げるかという話になって、上司が家電感覚が売りのサバンのネットステーションを導入してみてはどうかと言うことで導入しました。そしてIPアドレスの振り分けやトラブル処理などをしていた自分にその担当の白羽の矢が立てられました。 しかしながら、メールサーバーの設定をしても外部にはメールは送れるのですが、外部からメールは来ません。ここの解決をどうにかしたいです。 今までの環境は レンタルサーバーでメールソフトのsmtp,pop3共にwww.自社.co.jpをサーバー名として入れておきました。 今回マニュアルの設定通りにして、サーバーのIPアドレスを入力したところ、送信はできるのですが、受信ができません。サバン側からの回答も >自社.co.jpドメインに関して調査したところ、メールサーバーに www.自社.co.jp が指定されておりました。www.自社.co.jpは211.××.××.175 として登録されているのですが、このアドレスのサーバーを見たところ、 Net-Stationではない別のサーバーのようでした。古い環境のドメイン情報 がまだ残っているものだと考えられます。 とのことでした。 いろいろと調べてみて弊社の問題が次のようにあるのではないかと推測できました。 レンタルサーバーを解約していないので新しいサーバーが立ち上がらない。やはり二つサーバーの拠点があるのはいけないのでしょうか? DNS(ダイナミック)のシステムが確立されていない。自社でドメインをどこかに依頼して取得した場合にはDNSの設定はどうすればいいのでしょうか? ここの解決をすればいいのかなと思いますが、どういう方法が一番良いのでしょうか?よろしくお願いします。