Avatar billede gedebuk Nybegynder
11. april 2005 - 21:01 Der er 3 kommentarer og
1 løsning

JMain-problem ved punktum efter snabel-a (ved Azero)

Hej.

Jeg har problemer med JMail hos Azero, når der er mere end ét punktum efter @'et, f.eks. mail@hello.firma.dk. Hvis det er mail@firma.dk, går det godt.

Jeg har følgende funktion til at sende med:

public Function sendMail(sender, receiver, subject, body)
  Set JMail = Server.CreateObject("JMail.SMTPMail")
  JMail.Logging = True
  JMail.Silent  = True
  JMail.ServerAddress = "###"
  JMail.Sender        = sender
  JMail.Subject      = subject
  JMail.AddRecipient  receiver
  JMail.Body          = body
  JMail.Priority      = 3
  JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
  If Not JMail.Execute Then
    Response.Write "ERROR MESSAGE: " & JMail.ErrorMessage & "<br>"
    Response.Write "ERROR SOURCE: " & JMail.ErrorSource & "<br>"
    Response.Write "LOG: <pre>" & JMail.Log & "</pre>" & vbCrLf
  Else
    Response.Write "Emailen er sendt!"
    Response.Write "LOG: <pre>" & JMail.Log & "</pre>" & vbCrLf
  End If
  Set JMail = Nothing
End Function

Dette giver ved mere end ét punktum efter @'et følgende fejl:

ERROR MESSAGE: The message was undeliverable. All servers failed to receive the message
ERROR SOURCE: SMTPConnect()
LOG:
The message was undeliverable. All servers failed to receive the message
.execute()
{
  Trying server mail:mail.###.dk
  <- 220 tina.andersenit.dk ESMTP Merak 7.4.5 RIKKE; Mon, 11 Apr 2005 20:51:27 +0200
  -> EHLO ###
  <- 250-tina.andersenit.dk Hello ### [###], pleased to meet you.
250-ENHANCEDSTATUSCODES
250-SIZE
250-EXPN
250-ETRN
250-ATRN
250-DSN
250-CHECKPOINT
250-8BITMIME
250-AUTH CRAM-MD5 DIGEST-MD5 LOGIN PLAIN
250-AUTH=LOGIN
250 HELP
  -> MAIL FROM:
  <- 250 2.1.0 ... Sender ok
  -> RCPT TO:
<- 550 5.7.1 ... we do not relay
  -> DATA
<- 503 No recipient(s).
Error: 503 No recipient(s).
.execute()
{
  Trying server mail:mail.###.dk
  <- 220 tina.andersenit.dk ESMTP Merak 7.4.5 RIKKE; Mon, 11 Apr 2005 20:51:27 +0200
  -> EHLO ###
  <- 250-tina.andersenit.dk Hello ### [###], pleased to meet you.
250-ENHANCEDSTATUSCODES
250-SIZE
250-EXPN
250-ETRN
250-ATRN
250-DSN
250-CHECKPOINT
250-8BITMIME
250-AUTH CRAM-MD5 DIGEST-MD5 LOGIN PLAIN
250-AUTH=LOGIN
250 HELP
  -> MAIL FROM:
  <- 250 2.1.0 ... Sender ok
  -> RCPT TO:
<- 550 5.7.1 ... we do not relay
  -> DATA
<- 503 No recipient(s).
Error: 503 No recipient(s).

  1 of 1 servers failed
}

Er der nogen, der har en idé om, hvad jeg kan gøre for at løse problemet?

På forhånd tak,
Mads Pedersen
Avatar billede hiks Nybegynder
12. april 2005 - 10:14 #1
Hej

jeg vil tro at det er et relay problem fordi du bruger serveren mail.ditdomæne.dk prøv istedet med:

JMail.ServerAddress = "websmtp.dit-domæne.dk"

/hiks
Avatar billede gedebuk Nybegynder
12. april 2005 - 11:20 #2
Hej.

Det har jeg faktisk prøvet, hvilket desværre heller ikke virkede :-(

/Mads
Avatar billede hiks Nybegynder
12. april 2005 - 11:23 #3
og det går glat ved alle andre typer email adresser?

jeg undrer mig i så fald bare over dette:

<- 550 5.7.1 ... we do not relay

Den mail du sender til uden 2 punktummer er det domænet? Prøv i så fald at ændre til en ekstern.

/hiks
Avatar billede gedebuk Nybegynder
14. april 2005 - 18:59 #4
Hej igen.

Jeg har nu fundet fejlen. Det var ikke lige præcis dit svar, men det fik mig på den rette vej...
Min tese med, at det var pga. mere end ét punktum efter @'et var forket. Faktisk har det aldrig virket med den ovenstående kode, kun til mail-adresser ved samme udbyder (Azero). Jeg havde i starten kun testet med min egen mail-adresse, som ligger på et andet domæne, men stadig hostet af Azero. Ved afsendelse til alle eksterne adresser virkede det ikke.
Løsningen var at bruge en anden type ved oprettelse af JMail-objektet. I stedet for Server.CreateObject("JMail.SMTPMail") bruger jeg nu Server.CreateOBject("JMail.Message") og logger derefter ind med brugernavn og password:

  set msg = Server.CreateOBject( "JMail.Message" )
  msg.Logging = true ' Set logging to true to ease any potential debugging
  msg.silent = true  ' And set silent to true as we wish to handle our errors ourself
  msg.From = sender
  msg.MailServerPassWord = "###"
  msg.MailServerUserName = "###"
  msg.AddRecipient receiver
  msg.Subject = subject
  msg.Body = body
  If Not msg.Send("###") Then
    Err.Raise 1
  End If
  set msg = Nothing

Tak for hintet!
Mvh. Mads
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester