요기를 보면되며..
사실 .NET을 해본 사람이라면 .NET에서 제공하는 SMTP메일 클라이언트를 이용해서 메일을 보내는 소스코드가 얼마나 간단히 나오는지 알 것이다.
Google Mail의 기본 SMTP 포트는 465로 되어있는 것을 확인했다.
하지만 메일이 전송되지 않길래 무슨문젤까 하고 google.com의 검색으로 외국을 긁어나가기 시작했다..
바꿔서도 해봤다..
누가 해결하신분은 도움을 주시길..
less..
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml " > <head runat="server"> <title>Google Form Mailer</title> </head> <body> <form id="GMailForm" runat="server"> <div> <table style="border-collapse:collapse;" width="400" cellpadding="5" cellspacing="0"> <tr> <th colspan="2"> Google Form mail </th> </tr> <tr> <td style="width: 150px; text-align: right"> E-mail to : </td> <td> <asp:TextBox ID="txtMailTo" runat="server"></asp:TextBox></td> </tr> <tr> <td style="width: 150px; text-align: right"> Subject :</td> <td> <asp:TextBox ID="txtSubject" runat="server"></asp:TextBox></td> </tr> <tr> <td style="width: 150px; text-align: right"> Contents : </td> <td> <asp:TextBox ID="txtContents" runat="server" Rows="5" TextMode="MultiLine"></asp:TextBox></td> </tr> <tr> <td align="center" colspan="2"> <asp:Button ID="btnMailSend" runat="server" OnClick="btnMailSend_Click" Text="Send mail" /></td> </tr> </table> </div> </form> </body> </html>
Default.aspx.cs
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;
using System.Net; using System.Net.Mail;
public partial class _Default : System.Web.UI.Page { /// <summary> /// E-mail Message class /// </summary> private MailMessage Mail = null;
/// <summary> /// Network base authentication /// </summary> private NetworkCredential AuthInfo = null;
/// <summary> /// SMTP Mail Sender /// </summary> private SmtpClient Smtp = null;
/// <summary> /// Email address /// </summary> private string sMailFrom = "";
/// <summary> /// smtp login id /// </summary> private string sLoginID = "";
/// <summary> /// smtp login password /// </summary> private string sLoginPass = "";
/// <summary> /// Default Page load script /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { sMailFrom = "sunyruru@gmail.com "; sLoginID = "sunyruru"; sLoginPass = "****"; }
/// <summary> /// Mail Send button event script /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnMailSend_Click(object sender, EventArgs e) { // Email message set Mail = new MailMessage(sMailFrom, txtMailTo.Text.Trim()); Mail.Subject = txtSubject.Text; Mail.Body = txtContents.Text;
// Authentication to SMTP Service AuthInfo = new NetworkCredential(sLoginID.Trim() + "@gmail.com", sLoginPass.Trim());
// SMTP Sender Smtp = new SmtpClient();
try { Smtp.Host = "smtp.google.com"; // SMTP Host Smtp.Port = 465; // SMTP Port Smtp.UseDefaultCredentials = false; Smtp.Credentials = AuthInfo; Smtp.EnableSsl = true; // Use SSL Secure connection
Smtp.Send(Mail); // Send email message } catch (System.Net.Mail.SmtpFailedRecipientsException ex) { PrintError(ex.Message); } catch (System.Net.Mail.SmtpException ex) { PrintError(ex.Message); } catch (ObjectDisposedException ex) { PrintError(ex.Message); } catch (InvalidOperationException ex) { PrintError(ex.Message); } catch (ArgumentNullException ex) { PrintError(ex.Message); } catch (ArgumentOutOfRangeException ex) { PrintError(ex.Message); } catch (ArgumentException ex) { PrintError(ex.Message); } catch (Exception ex) { PrintError(ex.Message); } }
/// <summary> /// Javascript error message popup /// </summary> /// <param name="ErrorMessage"></param> protected void PrintError(string ErrorMessage) { Response.Write("<script>\n"); Response.Write("alert('" + ErrorMessage + "')"); Response.Write("</script>\n"); } }
less.. 귀차니즘이 있으시다면...