c#プログラムについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
初心者

c#プログラムについて

#1

投稿記事 by 初心者 » 14年前

c#でメールの送信をするプログラムを作っています
今、僕はメールの送信をするプログラムを作っているのですが、実行してみてもメールが送れません。
どこがおかしいのか教えていただけませんか?
サーバは、free smtp serverを使っています

コード:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Text.RegularExpressions;

namespace MyOriginalMailer
{
class Program
{
static void Main(string[] args)
{
if (args.Length > 0)
{
Console.WriteLine("Don't input argument");
return;
}

String Sender, Recipient, Subject, Message;
Regex MailRegex = new Regex("(?<address>[^@]+@(yahoo.co.jp|gmail.com|softbank.ne.jp|docomo.ne.jp|ezweb.ne.jp))");
Console.Write("Sender mail address: ");
Sender = Console.ReadLine();
Console.Write("Recipient mail address: ");
Recipient = Console.ReadLine();
Console.Write("Subject: ");
Subject = Console.ReadLine();
Console.Write("Message: ");
Message = Console.ReadLine();

Match CheckSenderAddress = MailRegex.Match(Sender);
Match CheckReceiverAddress = MailRegex.Match(Recipient);
if (CheckSenderAddress.Success && CheckReceiverAddress.Success)
{
SmtpClient Client = new SmtpClient();
Client.Port = 25;
Client.Host = "localhost";
Client.EnableSsl = true;
Client.Timeout = 20000;

try
{
Client.Send(Sender, Recipient, Subject, Message);

Console.WriteLine("\nMessage sent");
Console.ReadLine();

}
catch (SmtpException)
{
Console.WriteLine("\nMessage sending failed");
Console.ReadLine();

}
finally
{
Client.Dispose();
}

}
else
{
Console.WriteLine("Sender mail address or recipient mail address is wrong");
Console.ReadLine();
}

}
}
} 

mes

Re: c#プログラムについて

#2

投稿記事 by mes » 14年前

この質問を投稿したものです。
ルールをよく読んでいませんでした。
すいません。

環境はvisual c# 2010 expressです。
状況は、Sendメソッドを実行してもmailが送れないという状況です。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: c#プログラムについて

#3

投稿記事 by softya(ソフト屋) » 14年前

素朴な疑問ですが、自分のPCでSMTPサーバーは起動されているのでしょうか?
コードを見る限るは、その前提のコードだと思いますが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

mes

Re: c#プログラムについて

#4

投稿記事 by mes » 14年前

free smtp server を起動した状態でプログラムを実行してやってます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: c#プログラムについて

#5

投稿記事 by softya(ソフト屋) » 14年前

まず確認して欲しいのは、一般メールソフトからfree smtp serverを経由してメールが送信できるか確認してみてください。
迷惑メール対策で、プロバイダがブロックしている可能性もあります。

それと、C#のコードを動かした時にfree smtp serverが動作した形跡はありますか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。


アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: c#プログラムについて

#7

投稿記事 by softya(ソフト屋) » 14年前

マルチポストはルール違反ですので、相互リンクするかあちらの質問を閉じてくださいね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

mes

Re: c#プログラムについて

#8

投稿記事 by mes » 14年前

free smtp serverにしてwindowsメールでメールを送信してみると0x800ccc19というerrorがでました

free smtp serverはちゃんと動作していると思います

mes

Re: c#プログラムについて

#9

投稿記事 by mes » 14年前

マルチポストしてすいません。

yahooのほうは消しました

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: c#プログラムについて

#10

投稿記事 by softya(ソフト屋) » 14年前

マルチポストに関しても一言書き添えて欲しかったですが、もしかして消しました?
mes さんが書きました:free smtp serverにしてwindowsメールでメールを送信してみると0x800ccc19というerrorがでました
free smtp serverはちゃんと動作していると思います
windowsメールでメールが送れないものを送信できるはずがないと思うのですが、何を根拠にちゃんと動作していると思ったのでしょう?
動いていも機能していないことはよく有りますよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

mes

Re: c#プログラムについて

#11

投稿記事 by mes » 14年前

yahooのほうはもう消してしまいました・・。

smtp server がダメだということでしょうか?

アバター
asd
記事: 319
登録日時: 15年前

Re: c#プログラムについて

#12

投稿記事 by asd » 14年前

mes さんが書きました:yahooのほうはもう消してしまいました・・。

smtp server がダメだということでしょうか?
少なくともWindowsメールでメール送信ができずにエラーになっているのに、
自作プログラムでメールが送信できるとは思えないわけで・・・。

エラーコード0x800ccc19はSMTPサーバからの応答がなくタイムアウトしましたというエラーのようです。
http://www.google.co.jp/search?hl=ja&lr ... C%E7%B4%A2

まずはお使いのSMTPサーバの設定を見直して、通常のメーラーでメールが送受信できるようにしましょう。
SMTPサーバのログを確認してどういうエラーになっているのかを確認するのも一つの手だと思いますよ。
Advanced Supporting Developer
無理やりこじつけ(ぉ

mes

Re: c#プログラムについて

#13

投稿記事 by mes » 14年前

回答ありがとうございます。

いろいろとかくにんしてみます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: c#プログラムについて

#14

投稿記事 by softya(ソフト屋) » 14年前

テストが目的なら、このソフトが使えます(実際にはメールを送信しない仮想SMTPサーバです)。
「Diabolosの詳細情報 : Vector ソフトを探す!」
http://www.vector.co.jp/soft/win95/net/se307064.html
設定で、「認証が必要」と「POPbeforeSMTP」のチェックは外しています。

SSL認証に対応していないのでプログラムは
Client.EnableSsl = false;
にしてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

mes

Re: c#プログラムについて

#15

投稿記事 by mes » 14年前

amaxを使ってみると成功しました!!
ありがとうございました^^

アバター
asd
記事: 319
登録日時: 15年前

Re: c#プログラムについて

#16

投稿記事 by asd » 14年前

mes さんが書きました:amaxを使ってみると成功しました!!
ありがとうございました^^
amaxってなんでしょうか?
SMTPサーバのことでしょうか?
結局何が問題で、どう解決したのか良く分かりません。
Advanced Supporting Developer
無理やりこじつけ(ぉ

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: c#プログラムについて

#17

投稿記事 by softya(ソフト屋) » 14年前

asd さんが書きました:
mes さんが書きました:amaxを使ってみると成功しました!!
ありがとうございました^^
amaxってなんでしょうか?
SMTPサーバのことでしょうか?
結局何が問題で、どう解決したのか良く分かりません。
AXMD_Diabolosと言う名前のソフトなので、私の書いたとおりにしたら動いたって事だと思います。
amax→AXMD?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
asd
記事: 319
登録日時: 15年前

Re: c#プログラムについて

#18

投稿記事 by asd » 14年前

softya(ソフト屋) さんが書きました:
asd さんが書きました:
mes さんが書きました:amaxを使ってみると成功しました!!
ありがとうございました^^
amaxってなんでしょうか?
SMTPサーバのことでしょうか?
結局何が問題で、どう解決したのか良く分かりません。
AXMD_Diabolosと言う名前のソフトなので、私の書いたとおりにしたら動いたって事だと思います。
amax→AXMD?
なるほど、そういうことでしたか。
補足情報ありがとうございました。
Advanced Supporting Developer
無理やりこじつけ(ぉ

閉鎖

“C言語何でも質問掲示板” へ戻る