Envoyer un mail avec DotNetNuke 5
Auteur : Sébastien Fichot
Date de pulication : 14 May 2010
Article consulté 1731 fois

(9 votes)
Les fonctions d'envoi d'email depuis le code d'un module ont changé avec DotNetNuke 5, voici un exemple de code qui vous permet d'envoyer un email à l'adresse de votre choix.
Commencez par vérifier que votre serveur SMTP est correctement configuré (depuis le menu Hôte > Paramètres), et que vous pouvez envoyer des messages.

Depuis le code d'un module héritant de PortalModuleBase, envoyer un message se fait depuis l'espace de nom DotNetNuke.Services.Mail.Mail.SendMail()
If Mail.IsValidEmailAddress(Me.objMessage.Emailto, Me.PortalId) _
And _
Mail.IsValidEmailAddress(Me.objMessage.Emailfrom, Me.PortalId) Then
Dim strResult As String = Mail.SendMail(Me.objMessage.Emailfrom, _
Me.objMessage.Emailto, _
"", _
Me.objMessage.Title, _
Me.objMessage.Body, _
Nothing, "", Host.Host.SMTPServer, Host.Host.SMTPAuthentication, Host.Host.SMTPUsername, Host.Host.SMTPPassword)
Me.pnl_Send.Visible = False
Me.pnl_success.Visible = True
Me.lbl_Success.Text = Localization.GetString("Success.Text", Me.LocalResourceFile).Replace("{0}", Me.objMessage.Title_OTS).Replace("{3}", Me.objMessage.URL_OTS)
Else
' Adresse email invalide
Me.lbl_error.Visible = True
Me.lbl_error.Text = Localization.GetString("WrongEmailFormat.Error", Me.LocalResourceFile)
End If