2009-01-20 8 views
14

On m'a confié la tâche d'optimiser les emails HTML pour différents clients email/webmail. J'avais l'habitude de tester le fichier HTML en faisant un truc dans Outlook Express, pour le faire envoyer le HTML brut, mais Microsoft semble avoir cessé de fournir Outlook Express maintenant (je pense que "Live Mail" est censé le remplacer). Donc, ma question est la suivante: y a-t-il un moyen simple et rapide d'envoyer des courriels HTML? Peut-être même un programme freeware qui fait le travail?Qu'est-ce qu'un moyen rapide et facile de m'envoyer des emails HTML pour les tester?

Répondre

1

Un Test Mail Server Tool peut aider avec cela -si vous avez juste besoin de recevoir et voir tous les emails envoyés par votre application.

-1

Peut-être que vous pouvez utiliser System.Net.Mail dans .NET?

Vous pouvez lire un modèle d'e-mail et l'associer à un corps MailMessage.

Pour envoyer email

  System.Net.Mail.MailMessage msg = CreateMailMessage(); 

      SmtpClient sc = new SmtpClient(); 
      sc.Host = ConfigurationManager.AppSettings["SMTPServer"]; 
      sc.Port = 0x19; 
      sc.UseDefaultCredentials = true; 

      sc.Send(msg); 
4

J'utiliser python, ici en bas est un exemple comment créer un e-mail HTML avec un défaut de texte: http://docs.python.org/library/email-examples.html vous pouvez paramétrer cela, encapsuler dans les fonctions, lire le contenu à partir de fichiers, etc. (assurez-vous que vous avez défini localhost dans "s = smtplib.SMTP ('localhost')" sur votre serveur smtp)

0

J'envoie un email HTML (souvent en vrac) en utilisant PHPMailer. Cela a fonctionné très bien pour moi.

1

Si vous utilisez .NET et vous avez un compte Gmail c'est un moyen facile

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

var fromAddress = new MailAddress("[email protected]", "From Name"); 
var toAddress = new MailAddress("[email protected]", "To Name"); 
const string fromPassword = "fromPassword"; 
const string subject = "Subject"; 
const string body = "Body"; 

var smtp = new SmtpClient 
      { 
       Host = "smtp.gmail.com", 
       Port = 587, 
       EnableSsl = true, 
       DeliveryMethod = SmtpDeliveryMethod.Network, 
       UseDefaultCredentials = false, 
       Credentials = new NetworkCredential(fromAddress.Address, fromPassword) 
      }; 
using (var message = new MailMessage(fromAddress, toAddress) 
        { 
         Subject = subject, 
         Body = body 
        }) 
{ 
    smtp.Send(message); 
} 

voir Sending email in .NET through Gmail pour plus de détails

+1

Il n'y a pas en fait un serveur SMTP intégré dans .Net. Juste des classes pour interagir avec un serveur SMTP existant. –

+0

Ce code doit être mis à jour. – Crono

+0

mis à jour donc les commentaires peuvent être détraqués – inspite

4

Si vous êtes à la recherche pour vérifier si un affichage e-mail HTML correctement dans divers clients, j'utiliserais sendmail.exe (windows seulement).

Vous pouvez enregistrer un fichier .html et l'acheminer dans ce programme sur la ligne de commande en tant que contenu de courrier électronique. Cela permet d'envoyer et de renvoyer rapidement des e-mails en éditant simplement le fichier .html et en réexécutant la ligne de commande. Aucune programmation requise. Edit: il existe un outil de ligne de commande similaire pour Linux avec le même nom.

0

Une solution gratuite pour Windows uniquement où vous n'avez généralement pas besoin d'installer quoi que ce soit spécial est d'utiliser ASP ou WSH. J'opte pour JScript au lieu de VBScript:

function sendHtml(recipients, subject, html) { 
    var mail = Server.CreateObject("CDO.Message"); 

    mail.From = "Tester <[email protected]>"; 
    mail.Subject = subject; 
    mail.To = recipients.join(";"); 
    mail.HTMLBody = html; 

    // Do the following if you want to directly use a specific SMTP server 
    mail.Configuration.Fields.Item(
     "http://schemas.microsoft.com/cdo/configuration/sendusing") = 2; 
    mail.Configuration.Fields.Item(
     "http://schemas.microsoft.com/cdo/configuration/smtpserver") 
     = "smtp.example.com"; 
    mail.Configuration.Fields.Item(
     "http://schemas.microsoft.com/cdo/configuration/smtpserverport") 
     = 25; 
    mail.Configuration.Fields.Update(); 

    mail.Send(); 
} 

Note: Cependant, votre code HTML peut finir par être légèrement reformaté avec cette approche.

1

Je crois que vous pouvez envoyer des emails HTML à partir du client de messagerie Mozilla Thunderbird.

http://www.mozillamessaging.com/en-US/thunderbird/

C'est ce que je faisais envoyer des emails de test. Ou je suppose que vous pourriez utiliser votre fournisseur de messagerie aussi.

1

Je pas même aller avec une langue ...

je cesserais à MailChimp et mettre en place un free account (maximum de 500 abonnés et 3000 envoie par mois) ... 3000 envoie est assez pour tester à droite? :)

Il a tous les outils dont vous avez besoin pour envoyer des emails professionnels (et peut-être mettre en place un compte à votre client/ami afin qu'ils/il peut utiliser MailChimp dans leurs bulletins d'information)

pendant que vous y êtes , voir leur resources page ainsi l'outil parfait pour savoir ce que nous pouvons utiliser dans les bulletins en utilisant CampaignMonitor propre Guide to CSS support in email clients

espère que cela aide

+1

* caugh * Vous ne pourriez pas travailler chez MailChimp par hasard ...? – o01

+0

nahh, juste un utilisateur heureux :) et j'utilise aussi Campaign Monitor: D – balexandre

+0

Cela prend quelques minutes de mise en place, mais c'était un moyen très simple et fiable d'envoyer des emails HTML. Il suffit de créer un modèle personnalisé, et vous pouvez écrire et tester vos propres emails HTML. – mlissner

0

Très tard à la conversation, mais voici la méthode la plus rapide (bien que loin des meilleures pratiques) pour envoyer un e-mail html:

Voir votre rendu html dans un navigateur Web (comme une page Web), puis ctrl+a sélectionner la page entière puis ctrl+c copier et ctrl+v coller ce résultat rendu html dans le corps de votre e-mail. Ne devient pas plus facile que cela ...

Notez simplement que vos images doivent être hébergées si vous voulez que le destinataire les voit.

0
function sendHtml(recipients, subject, html) { 
var mail = Server.CreateObject("CDO.Message"); 

mail.From = "Tester <[email protected]>"; 
mail.Subject = subject; 
mail.To = recipients.join(";"); 
mail.HTMLBody = html; 

// Do the following if you want to directly use a specific SMTP server 
mail.Configuration.Fields.Item(
    "http://schemas.microsoft.com/cdo/configuration/sendusing") = 2; 
mail.Configuration.Fields.Item(
    "http://schemas.microsoft.com/cdo/configuration/smtpserver") 
    = "smtp.example.com"; 
mail.Configuration.Fields.Item(
    "http://schemas.microsoft.com/cdo/configuration/smtpserverport") 
    = 25; 
mail.Configuration.Fields.Update(); 

mail.Send(); 
} 
+0

quel garçon vous êtes – ayush

1

variante Ruby:

require "mail" 

options = { 
    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :domain    => "smtp.gmail.com", 
    :user_name   => "[email protected]", 
    :password    => "password", 
    :enable_starttls_auto => true, 
    :authentication  => :plain, 
} 

Mail.defaults do 
    delivery_method :smtp, options 
end 

mail = Mail.new do 
    to  "[email protected]" 
    from "Me Me [email protected]" 
    subject "test email" 

    html_part do 
    content_type "text/html; charset=UTF-8" 
    body File.read("index.html") 
    end 
end 

mail.deliver 

Ne pas oublier d'activer l'accès de https://www.google.com/settings/security/lesssecureapps

Questions connexes