PDA

Επιστροφή στο Forum : .net και αποστολή e-mail



Gus
24-06-12, 13:47
Καλησπέρα παιδιά,

Έχω φτιάξει κώδικα για μια σελίδα ώστε να δέχεται σαν όρισμα μερικά στοιχεία και έπειτα να τα στέλνει με mail.

Στην αρχή προσπάθησα με το Amazon SES (http://aws.amazon.com/ses/). Αλλά μου έβγαζε συνέχεια το εξής μήνυμα:


The SMTP server requires a secure connection or the client was not authenticated. The server response was: Authentication required

Το άφησα και στην συνέχεια ασχολήθηκα με το google apps

Έφτασα στο σημείο να μπορώ να στείλω Mail με το ssl απενεργοποιημένο και με την κλασική πόρτα 25 του SMTP

Το θέμα είναι ότι θέλω να τα στέλνω με την επιλογή enablessl στο true και να επικοινωνώ με την πόρτα 465(SSL) ή 587(TLS)

Μπορεί να μου πει κάποιος γτ αποτυγχάνει; Σαν exception το μόνο που παίρνω είναι Send Mail Failure.

Χρειάζομαι να κάνω κάτι στον υπολογιστή για να στέλνω με SSL; Θέλω κάποιο SSL πιστοποιητικό; Αν ναι μπορεί κάποιος να με βοηθήσει;


Ευχαριστώ προκαταβολικά:oneup:

prekageo
24-06-12, 20:35
Δείξε μας λίγο κώδικα από αυτό που έχεις κάνει μέχρι τώρα για να πάρουμε μία ιδέα. Δείξε μας και το exception και κοίταξε αν έχει InnerException.

Gus
24-06-12, 20:48
Δείξε μας λίγο κώδικα από αυτό που έχεις κάνει μέχρι τώρα για να πάρουμε μία ιδέα. Δείξε μας και το exception και κοίταξε αν έχει InnerException.

Ναι σωστά. Ξέχασα να αναφέρω ότι τελικά με το google apps έπαιξε. Συνεχίζει να μην παίζει με το Amazon SES


MailMessage msg = new MailMessage();
msg.To.Add(ViewState["mail"].ToString());
msg.From = new MailAddress("My_Mail");
msg.Subject = "Subject";
msg.Body = "Body";
SmtpClient smtp = new SmtpClient("smtp.gmail.com");
smtp.UseDefaultCredentials = true;
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential("My_mail", "password");
smtp.Port = 587;
smtp.Send(msg);

pasxal
24-06-12, 21:03
Δεν βοηθάει και πολύ αυτό που θα πώ αλλά πρίν λίγο καιρό ήθελα να κάνω το ίδιο σε Java και ψάχνοντας διαπίστωσα ότι πρέπει να αποδεχτώ το πιστοποιητικό της σελίδας.

Λογικά κάτι αντίστοιχο θα πρέπει να κάνεις.

Gus
24-06-12, 21:36
Δεν βοηθάει και πολύ αυτό που θα πώ αλλά πρίν λίγο καιρό ήθελα να κάνω το ίδιο σε Java και ψάχνοντας διαπίστωσα ότι πρέπει να αποδεχτώ το πιστοποιητικό της σελίδας.

Λογικά κάτι αντίστοιχο θα πρέπει να κάνεις.

Το θέμα είναι ότι δεν γράφουν κάτι τέτοιο...

http://s3.amazonaws.com/awsdocs/ses/latest/ses-dg.pdf

Και ένας αρχάριος χρήστης σαν κι εμένα δεν μπορεί να καταλάβει τι γντ!

Η google όμως γτ με τον ίδιο κώδικα περνάει κανονικά τα mail μου;

pasxal
25-06-12, 00:34
Με μια γρήγορη ματιά στο msdn βρήκα το ClientCertificates (http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx). Μπορείς να το δοκιμάσεις.

Gus
25-06-12, 11:16
Με μια γρήγορη ματιά στο msdn βρήκα το ClientCertificates (http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx). Μπορείς να το δοκιμάσεις.

και ποιο certificate να κάνω download;

prekageo
25-06-12, 12:10
Φαντάζομαι ότι έχεις ολοκληρώσει όλα τα requirements της σελίδας 20 του manual ή όχι; Π.χ. έχεις κάνει verify email address; Έχεις φτιάξεις SMTP username & password;
The SmtpClient class only supports the SMTP Service Extension for Secure SMTP over Transport Layer Security as defined in RFC 3207. Άρα πρέπει να συνδεθείς στα αντίστοιχα endpoint. Δείξε μας τον κώδικα που έχεις γράψει ως τώρα για το Amazon SES. Δείξε μας, επίσης, και το exception που συμβαίνει.

Gus
25-06-12, 13:32
λοιπόν παιδιά βρέθηκε το σφάλμα με την βοήθεια ενός σαφώς πιο έμπειρου. Το πρόβλημα είναι στα roles του χρήστη. Αν δεν δημιουργηθεί μέσα από το SES(χρησιμοποιώντας βέβαια το Amazon IAM που είναι υπεύθυνο για τους χρήστες) δεν παίρνει τα σωστά roles. ;)


Φαντάζομαι ότι έχεις ολοκληρώσει όλα τα requirements της σελίδας 20 του manual ή όχι; Π.χ. έχεις κάνει verify email address; Έχεις φτιάξεις SMTP username & password; Άρα πρέπει να συνδεθείς στα αντίστοιχα endpoint. Δείξε μας τον κώδικα που έχεις γράψει ως τώρα για το Amazon SES. Δείξε μας, επίσης, και το exception που συμβαίνει.

Ναι ναι τα είχα κάνει! Το σφάλμα πρέπει να έγινε όταν έπαιζα με τους χρήστες στην αρχή. Δηλαδή στην αρχή είχα σωστά username και password αλλά λάθος κώδικα και μετά σωστό κώδικα, σωστά username και password αλλά λάθος roles στον χρήστη;)

@ ADSLgr.com All rights reserved.