c# - net - Envío de correo electrónico a través de SMTP de Gmail en GoDaddy
relay hosting secureserver net (12)
Casi lo olvido aquí son las instrucciones detalladas de Google. La herramienta anterior cambiará automáticamente 8-)
http://www.google.com/support/a/bin/answer.py?hl=en&answer=33353
es posible? Puedo enviarlo a través de localhost, pero en GoDaddy no se envía el correo electrónico. ¿Alguien ha logrado lograr esto?
Estoy usando C #
Creo que tu mejor opción es buscar otro host. Cuando estaba programando un sitio en Godaddy, recuerdo haberle preguntado a Godaddy si habían deshabilitado sus funciones de mapi y resulta que hacen algo más que deshabilitarlo. He oído que filtran puertos específicos de salida.
Cuando se utiliza el alojamiento de retransmisión con GoDaddy, los objetos de correo electrónico DE la dirección de correo electrónico DEBEN ser un correo electrónico "Lista blanca" de GoDaddy.
Hacen esto para detener a los spammers que secuestran una cuenta
Existe una alternativa para utilizar el servidor de retransmisión.
Usando el formulario de correo GoDaddy, (Google Serach: "_gdForm / webformmailer.asp")
¡Esta alternativa se puede utilizar para enviar una cuenta de correo electrónico "formulario-remitente" pre-designada a todos los formularios web y funciona! pero requiere alguna configuración de hosting.content.form-mailer en GoDaddy.
Echa un vistazo a cómo he usado el formulario de correo:
(el único problema es que elimina la capacidad de codificar una base de datos XML de suscripción / cancelación de la suscripción, ya que los datos del formulario se envían a este archivo ASP inaccesible). Por lo tanto, puedo volver a utilizar el alojamiento de retransmisión en ASP.NET.
www.earthed.net.au / News.aspx www.earthed.net.au / Contact.aspx www.earthed.net.au / Support.aspx
Mi objetivo final era recibir un correo electrónico en mi bandeja de entrada de [email protected] con los datos de campo necesarios, pero no importa cómo se dirija la configuración de seguridad de su proveedor de Host, en última instancia, determinará su capacidad para hacerlo.
También probé el uso de los hosts de smtp de google y hotmail (ya que tengo una cuenta con cada uno) y la misma historia de restricción de seguridad, tal vez un proveedor de correo electrónico web menos conocido que tenga una configuración de seguridad más baja que permita el alojamiento de retransmisión completa (si es así, avíseme)
Después de experimentar el mismo problema que está describiendo en su pregunta, finalmente encuentro una solución.
Compruebe su archivo web.config y asegúrese de que la propiedad de depuración esté configurada en falso cada vez que publique su sitio web. Hazme saber si esto funciona. Lo hizo por mí.
<configuration>
<system.web>
<compilation debug="false" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<customErrors mode="Off"/>
</system.web>
</configuration>
Este código funciona
// Create the msg object to be sent
MailMessage msg = new MailMessage();
// Add your email address to the recipients
msg.To.Add("[email protected]");
// Configure the address we are sending the mail from
MailAddress address = new MailAddress("[email protected]");
msg.From = address;
msg.Subject = txtSubject.Text;
msg.Body = txtName.Text + "n" + txtEmail.Text + "n" + txtMessage.Text;
SmtpClient client = new SmtpClient();
client.Host = "relay-hosting.secureserver.net";
client.Port = 25;
// Send the msg
client.Send(msg);
Esto parece ser un problema común.
Hay dos cosas que se requieren.
- Agregue un usuario que se utilizará para la autenticación. No puedes enviar de forma anónima a través de GoDaddy
- Siga la configuración especificada aquí.
Esto debería hacer que funcione correctamente.
Estoy creando un formulario de contacto simple utilizando ASP.Net MVC 3 en GoDaddy. Quería poder enviar los correos electrónicos a las cuentas alojadas en Google Apps. Esta pregunta coincidía con mi situación, pero solo este help.godaddy.com/article/1073 resolvió realmente mi problema. Espero que ayude a alguien más!
Ejemplo de código del artículo:
// language -- C#
// import namespace
using System.Web.Mail;
private void SendEmail()
{
const string SERVER = "relay-hosting.secureserver.net";
MailMessage oMail = new System.Web.Mail.MailMessage();
oMail.From = "emailaddress@domainname";
oMail.To = "emailaddress@domainname";
oMail.Subject = "Test email subject";
oMail.BodyFormat = MailFormat.Html; // enumeration
oMail.Priority = MailPriority.High; // enumeration
oMail.Body = "Sent at: " + DateTime.Now;
SmtpMail.SmtpServer = SERVER;
SmtpMail.Send(oMail);
oMail = null; // free up resources
}
Estoy intentando algo similar, acabo de restablecer correos electrónicos y registrar correos electrónicos, tuve que cambiar el $header
a [email protected]
para que coincida con la dirección del sitio web. No necesitaba SMTP
, solo tarda una eternidad en recibir el correo electrónico ... sigue siendo un trabajo en progreso.
$subject = "Please reset your password";
$message = " Here is your password reset code {$validation_code}
Click here to reset your password http://www.zzz.com/Login_App/code.php?email=$email&code=$validation_code
";
$headers = "From: [email protected]";
La última vez que intenté hacer esto (quizás a principios de 2011) no pude enviar programáticamente desde la cuenta de Gmail en GoDaddy. Tomé el código exactamente el mismo código que funcionaba en el servidor de una compañía de alojamiento diferente y falló en el servidor de GoDaddy, así que estoy bastante seguro de que el código no era el problema.
Llamé a su soporte técnico y obtuve información contradictoria, pero había escuchado lo suficiente como para convencerme de que el envío a través de Gmail no era un servicio seguro en los servidores de GoDaddy.
También se me ofreció la opción alternativa de usar su formulario de correo electrónico web, que no es en absoluto lo que el proyecto en el que estaba trabajando podía usar y subrayó la idea de que GoDaddy no entendía completamente de qué hablaban.
Al final, descubrí que solo podía usar los servidores SMTP de GoDaddy y conectar mi propia dirección "desde" que me permitía enviar correo a cualquier dirección de correo electrónico y falsificar la dirección de correo electrónico original. Así que terminan bloqueando la funcionalidad de correo electrónico legítimo y en su lugar te obligan a usar un sistema altamente abusable.
Nuevamente, hace un tiempo me encontré con este problema, pero sería bastante fácil verificar si aún le permiten usar su servidor SMTP para enviar correos electrónicos.
Para las personas que todavía están buscando una respuesta, intente esto
smtp.Host = "relay-hosting.secure.net";
smtp.EnableSsl = false;
smtp.UseDefaultCredentials = false;
smtp.Port = 25;
Parece que GoDaddy bloquea los puertos SSL requeridos por el acceso smtp de gmail. Esto significa que estás fuera de suerte en este punto. Puedes usar el relé local de GoDaddy:
relay-hosting.secureserver.net sin credenciales.
Pude enviar un correo electrónico a través de GoDaddy usando estas configuraciones en el web.config:
<configuration>
<system.net>
<mailSettings>
<smtp>
<network
host="smtpout.secureserver.net"
userName="[email protected]"
password="****" />
<!--
As per @Yoro''s comment you might have
luck including the port number as well
-->
</smtp>
</mailSettings>
</system.net>
</configuration>
y este código:
var SmtpClient = new SmtpClient();
SmtpClient.Send("[email protected]", "[email protected]", "subject", "body");
Tenga en cuenta que creo que la dirección de correo electrónico en el correo electrónico que está enviando debe ser de su dominio. Intenté enviar un correo electrónico desde otro dominio y recibí un mensaje de error.
Debe asegurarse de tener una cuenta de correo electrónico en GoDaddy; puede verificarlo ingresando y dirigiéndose a Productos> Correo electrónico> Planes de correo electrónico. También tiene que asegurarse de que el relé SMTP esté activado, se activó de forma predeterminada para mí. También es importante saber por defecto que mi cuenta de GoDaddy solo me permite enviar 250 correos electrónicos al día.