none
Receber dados de um cliente no meu e-mail através do meu site em Asp.Net com C#? RRS feed

  • Pergunta

  • Boa tarde!

    Estou desenvolvendo um projeto. E nele um formulário em Asp.Net, para que meu cliente ao preenchê-lo envie os dados para o meu e-mail. Como faço? Vejam:

    Aqui estão os componentes Asp.Net:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Contato.aspx.cs" Inherits="FormaturaCursoADS.Contato" %>

    <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="ajaxToolkit" %>

    <!DOCTYPE html>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Contate-nos</title>
        <style type="text/css">
            .auto-style1 {
                width: 100%;
            }
            .auto-style2 {
                text-align: center;
            }
            .auto-style4 {
                text-align: right;
                width: 242px;
            }
            .auto-style5 {
                width: 242px;
            }
            .auto-style6 {
                width: 622px;
            }
        </style>
    </head>
    <body>
         <form id="fundoFormatura" runat="server" style="background-image: url('http://localhost:6430/Images/fundo-verde.jpg'); width: 100%; height: 890px; top: 5px; left: 80px;">
        <div>
            <table class="auto-style1">
                <tr>
                    <td>
                        <asp:ScriptManager ID="ScriptManager1" runat="server">
                        </asp:ScriptManager>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                            <ContentTemplate>
                                <table class="auto-style1">
                                    <tr>
                                        <td colspan="6">
                                            <asp:Menu ID="Menu1" runat="server" BackColor="#FFFBD6" DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#990000" Orientation="Horizontal" StaticSubMenuIndent="10px">
                                                <DynamicHoverStyle BackColor="#990000" ForeColor="White" />
                                                <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
                                                <DynamicMenuStyle BackColor="#FFFBD6" />
                                                <DynamicSelectedStyle BackColor="#FFCC66" />
                                                <Items>
                                                    <asp:MenuItem Text="Home Page" Value="HomePage"></asp:MenuItem>
                                                    <asp:MenuItem Text="Quem Somos" Value="QuemSomos"></asp:MenuItem>
                                                    <asp:MenuItem Text="Nossos Serviços" Value="NossosServicos"></asp:MenuItem>
                                                    <asp:MenuItem NavigateUrl="~/OrcamentoFormatura.aspx" Text="Orçamentos" Value="Orcamento"></asp:MenuItem>
                                                    <asp:MenuItem NavigateUrl="~/Contato.aspx" Text="Contate-nos" Value="Contatos"></asp:MenuItem>
                                                </Items>
                                                <StaticHoverStyle BackColor="#990000" ForeColor="White" />
                                                <StaticMenuItemStyle Font-Names="Algerian" Font-Size="X-Large" ForeColor="#00CC00" HorizontalPadding="40px" VerticalPadding="2px" Width="180px" />
                                                <StaticSelectedStyle BackColor="#FFCC66" />
                                            </asp:Menu>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="auto-style2" colspan="6">
                                            <asp:Image ID="Image1" runat="server" Height="327px" ImageUrl="~/Images/formatura2.jpg" Width="905px" />
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="auto-style2" colspan="6">
                                            <asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Names="Algerian" Font-Size="X-Large" ForeColor="White" Text="Envie-nos uma mensagem"></asp:Label>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>&nbsp;</td>
                                        <td>&nbsp;</td>
                                        <td class="auto-style4">
                                            <asp:Label ID="Label6" runat="server" Font-Bold="True" Font-Names="Arial" ForeColor="White" Text="Nome:"></asp:Label>
                                        </td>
                                        <td class="auto-style6">
                                            <asp:TextBox ID="txtNome" runat="server" Height="16px" Width="390px"></asp:TextBox>
                                        </td>
                                        <td>&nbsp;</td>
                                        <td>&nbsp;</td>
                                    </tr>
                                    <tr>
                                        <td>&nbsp;</td>
                                        <td>&nbsp;</td>
                                        <td class="auto-style4">
                                            <asp:Label ID="Label7" runat="server" Font-Bold="True" Font-Names="Arial" ForeColor="White" Text="E-mail:"></asp:Label>
                                        </td>
                                        <td class="auto-style6">
                                            <asp:TextBox ID="txtEmail" runat="server" Height="16px" TextMode="Email" Width="390px"></asp:TextBox>
                                        </td>
                                        <td>&nbsp;</td>
                                        <td>&nbsp;</td>
                                    </tr>
                                    <tr>
                                        <td>&nbsp;</td>
                                        <td>&nbsp;</td>
                                        <td class="auto-style4" style="vertical-align: top">
                                            <asp:Label ID="Label8" runat="server" Font-Bold="True" Font-Names="Arial" ForeColor="White" Text="Mensagem:"></asp:Label>
                                        </td>
                                        <td class="auto-style6">
                                            <asp:TextBox ID="txtMensagem" runat="server" Height="83px" MaxLength="2500" TextMode="MultiLine" Width="390px"></asp:TextBox>
                                        </td>
                                        <td>&nbsp;</td>
                                        <td>&nbsp;</td>
                                    </tr>
                                    <tr>
                                        <td>&nbsp;</td>
                                        <td>&nbsp;</td>
                                        <td class="auto-style5">&nbsp;</td>
                                        <td class="auto-style6">
                                            <asp:Button ID="btnEnviar" runat="server" BackColor="Black" Font-Bold="True" ForeColor="White" Height="30px" Text="Enviar" Width="80px" />
                                        </td>
                                        <td>&nbsp;</td>
                                        <td>&nbsp;</td>
                                    </tr>
                                </table>
                            </ContentTemplate>
                        </asp:UpdatePanel>
                    </td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                </tr>
            </table>
        </div>
        </form>
    </body>
    </html>

    sexta-feira, 15 de abril de 2016 20:24

Todas as Respostas

  • Boa Noite,
    Dê dois clique no botão enviar "btnEnviar" será criando um método associado ao evento "onClick".

    Nó método, digite:  

    string sUserName = "meuGmail@gmail.com";
    string sPassword = "MinhaSenhaGmail";
    string sBobdy = "Mensagem:\n\n" + txtMensagem.Text;

    MailMessage objEmail = new MailMessage();
    objEmail.To.Add(email);
    objEmail.From = new MailAddress(sUserName.Trim());
    objEmail.Subject = "Titulo da mensagem";
    objEmail.Body = sBobdy;

    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587 /* TLS */);
    smtp.EnableSsl = true;
    smtp.Credentials = new NetworkCredential(sUserName, sPassword, "");
    smtp.Send(objEmail);

    Espero ter ajudado.

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Sugerido como Resposta Tobias Mesquita sábado, 16 de abril de 2016 11:35
    sábado, 16 de abril de 2016 00:06
  • Boa Noite,
    Dê dois clique no botão enviar "btnEnviar" será criando um método associado ao evento "onClick".

    Nó método, digite:  

    string sUserName = "meuGmail@gmail.com";
    string sPassword = "MinhaSenhaGmail";
    string sBobdy = "Mensagem:\n\n" + txtMensagem.Text;

    MailMessage objEmail = new MailMessage();
    objEmail.To.Add(email);
    objEmail.From = new MailAddress(sUserName.Trim());
    objEmail.Subject = "Titulo da mensagem";
    objEmail.Body = sBobdy;

    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587 /* TLS */);
    smtp.EnableSsl = true;
    smtp.Credentials = new NetworkCredential(sUserName, sPassword, "");
    smtp.Send(objEmail);

    Espero ter ajudado.

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    lembrando que deve informar o Servidor, Porta e Ssl de acordo com o seu serviço de email.

    O exemplo acima é valida apenas para envio de emails pelo gmail.

    por exemplo, para enviar um email pelo outlook, deverá fazer:

    var smtp = new SmtpClient("smtp-mail.outlook.com", 587);
    smtp.EnableSsl = true;
    smtp.Credentials = new NetworkCredential(sUserName, sPassword, "");
    smtp.Send(objEmail);

    para consultar o nome dos servidores SMTP dos demais serciços, você pode olhar o seguinte site:

    A List of SMTP and IMAP Server


    sábado, 16 de abril de 2016 11:45
  • Deu esse problema...

    Pequeno erro na sintaxe.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Net.Mail;
    
    namespace FormaturaCursoADS
    {
        public partial class Contato : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            protected void btnEnviar_Click(object sender, EventArgs e)
            {
    
                string sUserName = "fabianodesenvolvedor77gmail.com";
                string sPassword = "MinhaSenhaGmail";
                string sBobdy = "Mensagem:\n\n" + txtMensagem.Text;
    
                MailMessage objEmail = new MailMessage();
                objEmail.To.Add(txtEmail.Text);
                objEmail.From = new MailAddress(sUserName.Trim());
                objEmail.Subject = "Titulo da mensagem";
                objEmail.Body = sBobdy;
    
                SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587 /* TLS */);
                smtp.EnableSsl = true;
                smtp.Credentials = new NetworkCredential(sUserName, sPassword, "");
                smtp.Send(objEmail);
    
            }
        }
    
            }

    sábado, 16 de abril de 2016 21:08
  • Importe o System.Net nos using

    https://msdn.microsoft.com/pt-br/library/system.net.networkcredential(v=vs.110).aspx

    https://msdn.microsoft.com/pt-br/library/cytcd70k(v=vs.110).aspx


    sábado, 16 de abril de 2016 21:33
  • Boa noite,

    Desculpe, faltou te passar as referências. Só adicionar os dois "using":

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

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    domingo, 17 de abril de 2016 00:04
    1. Aquele problema foi corrigido. Muito obrigado pela resposta.
    2. Mas tem duas coisas estranhas acontecendo:
    3. Essa no cabeçalho da imagem.

    E essa outra imagem aqui.

     
    domingo, 17 de abril de 2016 12:53
  • Boa tarde,

    Acesse seu e-mail (gmail), após estar autenticado acesse esse link das configurações do gmail (acesso para aplicativos menos seguros) marque ativar.

    Realizei o teste aqui e deu certo.

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    domingo, 17 de abril de 2016 17:22