_tasos Δημοσ. 8 Φεβρουαρίου 2010 Δημοσ. 8 Φεβρουαρίου 2010 Προσπαθώ να φτιάξω σε μία asp.net εφαρμογή μία λειτουργία αποστολής email χωρίς όμως να απαιτείται η χρήση SMTP ρυθμίσεων, δηλαδή mail server, mail account & password. Αυτό που με ενδιαφέρει είναι να μην πρέπει ο χρήστης να σετάρει αυτές τις παραμέτρους. Κάτι αντίστοιχο υπάρχει στην php με τη συνάρτηση mail(), αλλά δοκίμασα αρκετά πράγματα χωρίς κάποιο αποτέλεσμα. Ένα ενδιαφέρον άρθρο για αυτό βρίσκεται εδώ, αλλά δεν μπόρεσα να το τρέξω με επιτυχία. Οποιαδήποτε βοήθεια είναι ευπρόσδεκτη.
random Δημοσ. 9 Φεβρουαρίου 2010 Δημοσ. 9 Φεβρουαρίου 2010 Το παραδειγμα που βρήκες κάνει χρήση SMTP server. αυτος ο κωδικας εχει χρησιμοτητα αν δεν θες/μπορείς να έχεις δικό σου smtp server, στο ιδιο μηχάνημα που τρέχεις αυτο το c# program, ουτε να χρησιμοποιήσεις το System.Web.Mail.SmtpMail class -που ειναι υποθέτω ο straight τρόπος να στειλεις mail με .Net - επειδη πχ..αν η γιαγιά εχει win98, δεν θα της τρέχει το συγκεκριμένο class. αλλα και πάλι, με κάποιον SMTP server θα επικοινωνήσει (πχ. του ISP σου, ή του yahoo, ή το gmail), αλλα θα το κάνει με πιο "πρωτόγονο" τρόπο: TCP και Telnet, όπως θα μπορούσες να το κάνεις κι εσυ, απο γραμμή εντολών. κοίτα τη μεταβλητή public static string SmtpServer; αν δεν βάλεις εκεί τον smtp σερβερ, δεν προκειται να δουλέψει. ------------------------------------ η PHP Mail() κάνει χρήση smtp. απλά, δεν βλέπεις (συνήθως) να δηλώνουν server/user/pass μέσα στα σκριπτάκια, επειδή το δηλώνουν στο κεντρικό config της PHP (php.ini), και το χρησιμοποιούν απο 'κει όλες οι εφαρμογές. http://www.w3schools.com/PHP/php_ref_mail.asp RequirementsFor the mail functions to be available, PHP requires an installed and working email system. The program to be used is defined by the configuration settings in the php.ini file. Runtime Configuration The behavior of the mail functions is affected by settings in the php.ini file. ---------------------------------------------------------- Αυτό που με ενδιαφέρει είναι να μην πρέπει ο χρήστης να σετάρει αυτές τις παραμέτρους. κάπου πρέπει να χρησιμοποιήσεις εναν smtp server. προφανώς δεν μπορείς να τον ζητάς κάθε φορά που ενας χρήστης θελει να στείλει ενα mail. αρα, πρεπει να ειναι καπου αποθηκευμένος. ειτε σαν προτίμηση χρήστη: να το δηλωσει μια φορά ο καθένας, και να μην τον ξαναρωτήσεις, ειτε σαν σταθερά της εφαρμογής: το δηλώνεις εσύ στο configuration της εφαρμογής, (web.config, app.config, κάπως έτσι τα λενε στο .net ; ...) ------------------------------------ τι ειδους εφαρμογή ειναι αυτο που φτιάχνεις; δικο σου προγραμμα για εκμάθηση; εργασία της σχολής ; για καποια εταιρεία; προορίζεται να δουλέψει μεσα σε ενα κλειστό εταιρικο δικτυο, ή θα ειναι εκτεθιμένη στο κοινό, στο ιντερνετ;
_tasos Δημοσ. 9 Φεβρουαρίου 2010 Μέλος Δημοσ. 9 Φεβρουαρίου 2010 Δεν έχω θέμα με το να σταλεί κάποιο mail χωρίς να υπάρχει SMTP server, αλλά να μπορέσει η web application να στείλει e-mail χωρίς ο χρήστης να πρέπει να δώσει τα SMTP settings. Π.χ., το wordpress μπορεί και στέλνει ένα email χωρίς να δώσεις πουθενά ρυθμίσεις για τον mail server. Ο mail server υπάρχει (όπως και στη δικό μου σενάριο), αλλά στέλνει e-mail από ένα account που δεν υπάρχει ([email protected], και δεν έχω φτιάξει λογαριασμό [email protected]). Αυτό ακριβώς θέλω να πετύχω. Στο link που παρέθεσα, έδωσα σαν setting το mail.mydomain.com στην αντίστοιχη μεταβλητή αλλά είχε error. Συγκεκριμένα έχω πάντα το εξής σφάλμα όταν κάνω set το address του αποδέκτη. >554 5.7.1 : Sender address rejected: Access denied ---- 250 Πάντως, δεν έχω θέμα να φαίνεται κάποιος συγκεκριμένα ως αποστολέας, αρκεί να φεύγει ένα email χωρίς να πρέπει να setαριστεί κάποιος mail account νωρίτερα. Συγκεκριμένα για το wordpress χρησιμοποιεί το phpmailer. Μάλλον χρειάζομαι το αντίστοιχο module στο .net... EDIT: Η εφαρμογή είναι το CMS της εταιρίας μου, και ζήτησαν να μπει λειτουργία αποστολής email. Συγκεκριμένα έφεραν σαν παράδειγμα το wordpress (για αυτό και το αναφέρω), όπου στέλνονται email notifications από ένα email χωρίς να υπάρχει το account. Στο codeplex υπάρχουν πολλά projects που είναι για αυτή τη δουλειά, και προς τα εκεί αρχίζω να ψάχνω
random Δημοσ. 11 Φεβρουαρίου 2010 Δημοσ. 11 Φεβρουαρίου 2010 Π.χ., το wordpress μπορεί και στέλνει ένα email χωρίς να δώσεις πουθενά ρυθμίσεις για τον mail server. εννοείς οτι έφτιαξες ενα δωρεάν blog στο wordpress.com και απο εκει δούλεψε; (πιστευω αυτο το έχει ηδη ρυθμίσει ο hoster κεντρικά. στο php.ini ) ή οτι κατέβασες το λογισμικό wordpress, και το εγκατέστησες σε δικό σου pc, με apache+php+mysql ; (εδώ θα πρέπει να κάνεις εσυ το αναλογο σετάπ) Η εφαρμογή είναι το CMS της εταιρίας μου ε, τότε δεν βλέπω να εχεις πρόβλημα. χρησιμοποίησε τον smtp του ISP απο τον οποίο έχετε πρόσβαση. ή εναν εταιρικό mail server αν έχετε τέτοιον μέσα στο lan. να μπορέσει η web application να στείλει e-mail χωρίς ο χρήστης να πρέπει να δώσει τα SMTP settings ε, δεν θα χρειάζεται να κανει τις ρυθμισεις καθε φορά ο καθε χρήστης. Μια φορά θα τα ορίσεις εσύ, και όλοι θα στέλνουν με τον ιδιο smtp, και αν θες ίδιο username/pass. 554 5.7.1 : Sender address rejected: Access denied ---- 250 οταν λαμβάνεις αυτο το μηνυμα σε outlook/thinderbird, πρέπει να τσεκάρεις το "My outgoing server SMTP requires authentication" και μετά το "Use same settings as my incoming mail server" techlover Subject: Re: Sender address rejected: Access denied - but only when sending from the web There are two typical reasons for why you will get a (state 13) 554 5.7.1 Recipient access denied: 1) The receiving server does some checks and decides you are sending spam. It rejects the message. 2) The receiving email server does not have a reverse DNS record. αυτα βοηθάνε καθόλου; http://www.4guysfromrolla.com/articles/072606-1.aspx http://wiki.asp.net/page.aspx/392/sending-email-in-aspnet/
StavrosD Δημοσ. 11 Φεβρουαρίου 2010 Δημοσ. 11 Φεβρουαρίου 2010 Χωρίς mail account σε κάποιον server, έστω και στο ίδιο μηχάνημα, δεν νομίζω να μπορείς να στείλεις mail. Δεν πιστεύω να θες να κάνεις spam engine;
_tasos Δημοσ. 11 Φεβρουαρίου 2010 Μέλος Δημοσ. 11 Φεβρουαρίου 2010 εννοείς οτι έφτιαξες ενα δωρεάν blog στο wordpress.com και απο εκει δούλεψε;(πιστευω αυτο το έχει ηδη ρυθμίσει ο hoster κεντρικά. στο php.ini ) ή οτι κατέβασες το λογισμικό wordpress, και το εγκατέστησες σε δικό σου pc, με apache+php+mysql ; (εδώ θα πρέπει να κάνεις εσυ το αναλογο σετάπ) Εννοώ ότι ανέβασα ένα wordpress σε ένα δικό μου domain, σε ένα hosting που δεν είναι του wordpress. Από εκεί, το wordpress στέλνει email με notifications σχετικά με το site (comments σε άρθρα). Ο αποστολέας είναι το [email protected] αλλά εγώ που έχω το control panel με τα email δεν έχω σετάρει αυτό το account. Φυσικά και υπάρχει ο smtp server mail.mydomain.com, αλλά δεν το έχω σετάρει κάπου στο wordpress. Η εφαρμογή μου είναι ένα CMS, και κάθε φορά θα κάθεται σε διαφορετικό domain, οπότε δεν είναι πολύ ελκυστική η λύση της χρήσης ενός automail account, π.χ. από το domain της εταιρίας μου. Το πρόβλημα μου δεν είναι ότι δεν υπάρχει smtp server. Αυτό που θέλω να πετύχω είναι να τον χρησιμοποιήσω χωρίς να πρέπει ο χρήστης να φτιάξει ένα [email protected] και να χρησιμοποιήσει η εφαρμογή μου αυτού του account τα credentials για να στείλει notification emails, τύπου "Υπενθύμιση κωδικού". Φίλε random, βλέπω επιμένεις ότι κάπου πρέπει να είναι ορισμένα κάποια credentials, και μάλλον έχεις δίκιο. Προφανώς η php και ο apache επιτρέπουν αυτό που προσπαθώ να κάνω, σε αντίθεση με τον IIS που είναι πιο δύστροπος. Όπως και να έχει, θα ρίξω μια ματιά στα links και ευχαριστώ για το ενδιαφέρον σου. Χωρίς mail account σε κάποιον server, έστω και στο ίδιο μηχάνημα, δεν νομίζω να μπορείς να στείλεις mail. Δεν πιστεύω να θες να κάνεις spam engine; Να πάρει, με κατάλαβες...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.