質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

解決済

2回答

573閲覧

C#から、メールを送信したいのですが、うまくできません。

KS-_-SK

総合スコア39

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

1グッド

1クリップ

投稿2020/02/22 08:03

###実現させたいこと
まず、ゲーム上のTextで取得した数値2つを「VS」という風に、文章を作成し、C#から、メールを送信したいです。
###作成したプログラム

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class SendMail : MonoBehaviour 7{ 8 public Text text; 9 public Text text1; 10 public InputField IP; 11 12 // Start is called before the first frame update 13 void Start() 14 { 15 text = text.GetComponent<Text>(); 16 text1 = text1.GetComponent<Text>(); 17 IP = IP.GetComponent<InputField>(); 18 } 19 20 // Update is called once per frame 21 void Update() 22 { 23 24 } 25 26 public void OnClick() 27 { 28 //送信者 29 string senderMail = "*****@*****"; 30 //宛先 31 string recipientMail = "*****@*****"; 32 //件名 33 string subject = "result of game"; 34 //本文 35 string body = text.text + " vs " + text1.text; 36 37 System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient(); 38 sc.Host = "192.168.**.**"; 39 sc.Port = 25; 40 sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; 41 sc.Send(senderMail, recipientMail, subject, body); 42 sc.Dispose(); 43} 44

###上記のプログラムにおいて変更したところ

  • 個人情報保護のため、メールアドレス(2か所)を*****@*****"に変更。
  •           IPアドレス(192.168から始まる)の1部を***に変更。

※IPアドレスは、コマンドプロンプトにて、ipconfigで確認済み。
###このプログラムを実行した結果

  • SocketException:対象のコンピューターによって拒否されたため、接続できませんでした。と表示される。

どうすればよいでしょうか。ご回答お願いします。

taro.nn👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/02/22 08:10

メールを送るには SMTP サーバーというものが動いてるマシンと通信する必要があり、それが 192.168.**.** ってことになりますが、このマシンで SMTP サーバーは動いてますか?(ちなみに、192.168.**.** はローカルアドレスなので、伏せる意味はほとんどありません。)
KS-_-SK

2020/02/22 08:13

ご回答ありがとうございます。 誠に恐縮ではございますが、SMTPサーバーが動いているかを確認するには、どのようにすれば用意のでしょうか。
hoshi-takanori

2020/02/22 08:18

その前に、192.168.**.** がどのマシンか確認しましょう。もしかして C# プログラムを動かしてるパソコンですか?
KS-_-SK

2020/02/22 08:37

192.168.**.**は、C#を動かしているパソコンです。 このパソコンで動かし(送信)、このパソコンでメールを受信する、といった感じです。 情報量が足りなくて、誠に失礼いたしました。
hoshi-takanori

2020/02/22 08:42

なるほど。そのパソコンで SMTP サーバー(メールサーバー)が動いてなければメールは送信できません。 が、普通は自分のパソコンで動かすものではないので、ご契約のプロバイダのメール設定をご確認ください。
退会済みユーザー

退会済みユーザー

2020/02/22 08:57

質問者さんがここ Teratail にはどのように投稿してますか? 質問者さんが契約しているインターネット・サービス・プロバイダー (ISP) 経由ですよね。そうであれば、その ISP がメールサービスも提供してますよね。とりあえずそこを質問者さんのメールの送信先に設定して試してみてははいかがですか? 自分のパソコン相手では絶対ダメだと思いますよ。
Q71

2020/02/22 09:03

「ゲーム上のテキスト」と書かれていますが、開発中の今は「このPC」だけれども、最終的は「ゲームをダウンロードして下さった方のPC」だったりしませんか?
KS-_-SK

2020/02/22 09:38

SurferOnWww様 ご回答ありがとうございます。いったん、ISPが提供しているメールサービスを使用したところ、送信することができました!誠にありがとうございます。 ___________________________________ Q71様 ご回答ありがとうございます。現在作成中のものは、自分の家だけで使うので、特にその辺は問題ありません。ご迷惑をおかけいたしました。 ___________________________________ hihijiji様 ご回答ありがとうございます。付属のサイトを確認し、メールの仕組みをとてもよく理解しました。こんな素晴らしいサイトがあったのですね!誠に、ありがとうございました。
guest

回答2

0

自己解決

SurferOnWww様のコメントを参照にさせていただき、成功しました。

投稿2020/02/22 09:53

KS-_-SK

総合スコア39

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

そのエラーはそもそも接続できない場合に出るので、メールサーバのアドレスを確認してみよう、

#って、メールサーバって192.168.**.**なのかw

投稿2020/02/22 08:08

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KS-_-SK

2020/02/22 08:15

ご回答ありがとうございます。 メールサーバーのアドレスは、どのように確認すればよいのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問