Hoe mail versturen in C#

Status
Niet open voor verdere reacties.

TSAR

Gebruiker
Lid geworden
20 mei 2009
Berichten
158
Op een server heb ik een VB6 programma die probleemloos mails verstuurt. Dit doe ik als volgt :

Private Sub SendMail(From As String, ToEmail As String, Subject As String, BodyStr As String)

Set objNewMail = CreateObject("CDONTS.NewMail")

If cboFormaat.Text = "HTML" Then
objNewMail.BodyFormat = 0
objNewMail.MailFormat = 0
Else
objNewMail.BodyFormat = 1
objNewMail.MailFormat = 1
End If

Select Case cboPrioriteit.Text
Case "Laag"
objNewMail.Send From, ToEmail, Subject, BodyStr, 0
Case "Normaal"
objNewMail.Send From, ToEmail, Subject, BodyStr, 1
Case Else
objNewMail.Send From, ToEmail, Subject, BodyStr, 2
End Select


Set objNewMail = Nothing

End Sub


Nu schrijf ik mij eerste C# programma :) en ook dit programma moet mails versturen. Dit lukt echter niet (is op dezelfde server geïnstalleerd als het VB6 programma !).

Ik doe het als volgt :

public static void CreateMessageWithAttachment(string Van, string Naar, string Onderwerp, string Bericht, string file)
{
// Create a message and set up the recipients.
MailMessage message = new MailMessage(
Van,
Naar,
Onderwerp,
Bericht);

// Create the file attachment for this e-mail message.
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);

// Add time stamp information for the file.
ContentDisposition disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(file);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
disposition.ReadDate = System.IO.File.GetLastAccessTime(file);

// Add the file attachment to this e-mail message.
message.Attachments.Add(data);

//Send the message.
SmtpClient client = new SmtpClient("127.0.0.1");

// Add credentials if the SMTP server requires them.
client.Credentials = CredentialCache.DefaultNetworkCredentials;

try
{
client.Send(message);
}
catch (Exception ex)
{
MessageBox.Show("Exception caught in CreateMessageWithAttachment() :" + ex.ToString());
}
data.Dispose();
}


De foutboodschap die ik krijg is System.Net.Mail.SmtpFailedRecipientException : Mailbox unavailable. The server response was 5.7.1 Unabled to relay for...



Wie kan mij helpen ? :(
 
De melding die je krijgt wordt gegeven door de SMTP server die niet wil dat je via deze een mail gaat versturen.
 
Dus niets mis met mijn programma, maar ergens een instelling op de server zelf ?

Ik dacht dat indien het gaan met mijn VB6, het ook automatisch zou gaan met mijn .NET toepassing...
 
Het heeft niets met je programma te maken. De SMTP server meld dat 'ie die niet wil "relayen". Dat is meestal omdat je dan een server gebruikt die niet van je eigen provider is. Waarschijnlijk zal het wel goed gaan als je de SMTP server van Google gebruikt. Daarvoor kan je deze gegevens gebruiken:

Host: smtp.gmail.com
Port: 587
SSL: On (1)
Default credentials: Off (0)
Username: Your GMAIL address (Must include @gmail.com)
Password: Your GMAIL password
From: A valid email address
 
Laatst bewerkt:
Andere SMTP server doorgekregen van onze IT en nu werkt het !

Bedankt !
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan