michelc Blog

Just <strong>another</strong> WordPress.com weblog

Archives de novembre 2005

Authentification SMTP

sans commentaires

Pour certains serveurs SMTP il est nécessaire de faire une connexion POP avant de pouvoir envoyer un mél (“POP before SMTP” Authentication). Apparement, cela inscrit l’adresse IP de la machine effectuant la connexion dans une table de façon à ensuite autoriser les connexions SMTP (au coup par coup, temporairement ou à vie ?).

Etant donné qu’il n’existe pas de classe System.Pop en ASP.NET 1.1, il reste à trouver une classe POP qui fasse l’affaire. Voir éventuellement l’article “How to POP3 in C#” de Randy Charles Morin.

Rédigé par michel

30 novembre 2005 à 2:24

Publié dans .net, QC

Amélioration XxxxxSearch – Etape 1

sans commentaires

  • Renommé les clés des paramètres pour les préfixer par “search” au lieu de “google”, “msn” et “yahoo”,
  • Mise en commun de la quasi-totalité du source de viewXxxxxSearch.ascx.cs, à l’exception de celui de ExecuteSearch qui reste spécifique à GoogleSearch, MsnSearch ou YahooSearch,
  • Suppression de la table pour la mise en forme des formulaires de recherche (inspiré par Search Form Layout):
<fieldset class="search_form">
<div class="search_cols">
 <a href="http://www.google.com/" target="_blank">
  <asp:Image id="logoSearch" runat="server"
       AlternateText="Google" ImageUrl="google_logo.gif" />
 </a>
</div>
<div class="search_cols">
 <p>
  <asp:textbox id="txtQuery" runat="server"
       Columns="35" maxlength="100" />
  <asp:button id="btnSearch" runat="server" Text=" Go! " />
 </p>
 <p>
  <asp:radiobuttonlist id="chxRange" runat="server"
       RepeatDirection="Horizontal" RepeatLayout="Flow" />
 </p>
</div>
</fieldset>

Reste à faire :

  • Améliorer le fonctionnement en mode GET (cf. étape 2),
  • Ne plus passer par le postback ?
  • Remplacer GoogleSearchService.dll, Msn.API.dll et Yahoo.API.dll par une seule DLL.

Rédigé par michel

29 novembre 2005 à 11:06

Publié dans QC

Un formulaire simple pour tester l’envoi de mail

sans commentaires

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Mail" %>
<script runat="server">
void btnSubmit_Click(Object sender, EventArgs e) {
  MailMessage mail = new MailMessage();
  mail.To = txtTo.Text;
  mail.From = txtFrom.Text;
  mail.Subject = txtSubject.Text;
  mail.Body = txtMessage.Text;
  mail.Priority = MailPriority.High;
  mail.BodyFormat = MailFormat.Text;
  SmtpMail.SmtpServer = txtSmtpServer.Text;
  if (txtSmtpUsername.Text.Trim() != "") {
    if (txtSmtpPassword.Text.Trim() != "") {
      mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
      mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", txtSmtpUsername.Text);
      mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", txtSmtpPassword.Text);
    }
  }
  try {
    SmtpMail.Send(mail);
    Response.Write("OK!");
  } catch (Exception ex) {
    Response.Write("KO: " + ex.ToString());
  }
}
</script>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Mail test</title>
  </head>
  <body>
    <form runat="server">
      <ul>
        <li>Smtp Server : <asp:TextBox id="txtSmtpServer" runat="server"></asp:TextBox></li>
        <li>Smtp Username : <asp:TextBox id="txtSmtpUsername" runat="server"></asp:TextBox></li>
        <li>Smtp Password : <asp:TextBox id="txtSmtpPassword" runat="server"></asp:TextBox></li>
        <li>From : <asp:TextBox id="txtFrom" runat="server"></asp:TextBox></li>
        <li>To : <asp:TextBox id="txtTo" runat="server"></asp:TextBox></li>
        <li>Subject : <asp:TextBox id="txtSubject" runat="server"></asp:TextBox></li>
        <li>Message : <asp:TextBox id="txtMessage" TextMode="MultiLine" runat="server"></asp:TextBox></li>
      </ul>
      <asp:Button runat="server" id="btnSubmit" OnClick="btnSubmit_Click" Text="Send"></asp:Button>
    </form>
  </body>
</html>

(Publié à l’origine sur http://www.bigbold.com/snippets/posts/show/906)

Rédigé par michel

23 novembre 2005 à 4:30

Publié dans .net, Code Snippets

Retrouver un numéro de semaine

sans commentaires

public static int GetWeekNumber (DateTime dt) {
	CultureInfo culture = CultureInfo.CurrentCulture;
	int intWeek = culture.Calendar.GetWeekOfYear(dt, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
	return intWeek;
}

(Publié à l’origine sur http://www.bigbold.com/snippets/posts/show/856)

Rédigé par michel

4 novembre 2005 à 4:39

Publié dans Code Snippets, c#