2012-04-14 2 views
0

Visual C# 응용 프로그램을 사용하여 메일을 보내려고했지만 코드를 실행하는 것처럼 보입니다. 코드 끝에있는 메시지 상자) 아무것도 보내지 않습니다. 분명한 이유로 아래 이메일 정보를 변경했습니다.C#에서 메일을 보내려고했지만 작동하지 않는 것 같음

여기에 내가 가진 무엇 :

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Net.Mail; 
using System.Net; 

namespace WindowsFormsApplication9 
{ 
    public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 

    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     string Host = "smtp.live.com"; 
     Int16 Port = 587; 
     bool SSL = true; 
     string Username = "[email protected]"; 
     string Password = "mypassword"; 

     // Mail options 
     string To = "[email protected]"; 
     string From = "[email protected]"; 
     string Subject = "This is a test"; 
     string Body = "It works!"; 

     MailMessage mm = new MailMessage(From, To, Subject, Body); 
     SmtpClient sc = new SmtpClient(Host, Port); 
     NetworkCredential netCred = new NetworkCredential(Username, Password); 
     sc.EnableSsl = SSL; 
     sc.UseDefaultCredentials = false; 
     sc.Credentials = netCred; 

     MessageBox.Show("Test"); 
    } 
} 
} 

* 참고, 나는이에서 오류 얻을.

+3

힌트 : 정보 (호스트, 보낸 사람,받는 사람, 본문)를 모두 설정하고 자격 증명을 설정하면 잘 보입니다. 정확히 어디에서 ** ** 메일을 보내시겠습니까? (또 다른 힌트 :'sc.Credentials = netCred;와'MessageBox.Show ("Test");'사이에 더 많은 것이 있어야합니다.) –

+1

실제로 메세지를 보내는 것을 잊었습니다. 이제 이것을 알아 내야합니다. – Hexo

+0

좋습니다. 시작 했어. 이제 네가 돌아올 때 대답을 게시 할 수있어. :) –

답변

2

실제로 메일을 보내지 마십시오.

using System.Net.Mail; 
using System.Net; 
using System.Configuration; 

이 코드의 다음 줄을 추가 코드 숨김 파일 ...

sc.Credentials = netCred; 

try 
{ 
    sc.Send(message); 
} 
catch (Exception ex) 
{ 
    MessageBox(ex.ToString());    
}    
MessageBox.Show("Test"); 
+0

+1하지만 OP의 예와 일치하려면 'sc.Send (message);'가되어야합니다. – Robbie

+0

잘 잡습니다. 결정된. –

+0

감사합니다. 많은 도움을 주셔서 감사합니다. (첨부 파일을 구현하려면 지금 D) 왜 내가 stmpclient를 시도했는지 모르겠다. – Hexo

-1

이 네임 스페이스를 추가 : 어디 알아낼 수 있어야합니다 -

코드에 이것을 추가 어디에서 이메일을 보내시겠습니까?

System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage("yourEmailId", "destinationEmailId"); 
mail.Subject = ""; //Enter the text for the subject of the mail in quotes. 
mail.Body = ""; //Enter the text for the body of mail within the quotes. 
mail.IsBodyHtml = true; 
SmtpClient client = new SmtpClient("smtp.live.com"); 
NetworkCredential cred = new NetworkCredential("yourEmailId", "yourPassword"); 
client.EnableSsl = true; 
client.Credentials = cred; 
try 
{ 
client.Send(mail); 
} 
catch (Exception) 
{ 
} 
+0

이것은 매우 읽을 수 없습니다. – Robbie

+1

여기에는 많은 소음이 필요하지 않습니다. OP는'try..catch'를 생략하면 한 줄의 코드를 제외하고는 모든 관련 정보를 가지고 있습니다. 추가 노이즈로 인해 실제 솔루션을 찾기가 어렵 기 때문에 읽기가 어렵습니다. –

관련 문제