• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Gửi mail trong .net

Các mẹo vặt linh tinh không thuộc các nhóm trên

Điều hành viên: tungcan5diop, QUANITGROBEST

Đặng Việt Trung
Thành viên chính thức
Thành viên chính thức
Bài viết: 19
Ngày tham gia: T.Ba 13/06/2006 5:26 pm
Đến từ: Hà Nội
Liên hệ:

Gửi mail trong .net

Gửi bàigửi bởi Đặng Việt Trung » T.Bảy 29/03/2008 1:04 pm

Thủ thuật: Gửi mail trong .net
Tác giả: me
Mô tả: Gửi mail trong .net


Bạn có thể sử dụng cái này như một công cụ góp ý cho phần mềm mà ko cần vào website phần mềm hay gửi mail thủ công. Trong đoạn code dưới sẽ có một mail được gửi đến bạn và người gửi là chính bạn

Mã: Chọn hết

 using System.Net.Mail;public void Send(){            string email="Email của bạn"; //VD : dviettrung185@yahoo.com.vn            string pass="Password của bạn" //VD : 123456            string user="Username" //VD : dviettrung185            MailMessage msg = new MailMessage(email, email);            msg.BodyEncoding = Encoding.Unicode;            msg.Body = "Noi dung thu"            msg.Subject = "Tieu de thu";            SmtpClient SmtpMail = new SmtpClient(smtp, 25); //smtp : Điền smtp hòm thư của bạn vào. Nếu bạn dùng Yahoo thì điển smtp.mail.yahoo.com(.vn) ; Nếu 25 ko gửi được, bạn có thể điền thử 465            SmtpMail.Credentials = new System.Net.NetworkCredential(user, pass);            try            {                SmtpMail.Send(msg);                MessageBox.Show("Quá trình gửi thành công. Cảm ơn bạn đã đóng góp ý kiến cho chương trình","Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);                Application.DoEvents();            }            catch { MessageBox.Show("Có lỗi trong quá trình gửi", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); }} 
Sửa lần cuối bởi Đặng Việt Trung vào ngày T.Bảy 29/03/2008 1:22 pm với 3 lần sửa.



Hình đại diện của người dùng
hdn
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 319
Ngày tham gia: T.Tư 26/03/2008 7:09 pm
Has thanked: 1 time
Been thanked: 4 time

Re: Gửi mail trong .net

Gửi bàigửi bởi hdn » T.Bảy 29/03/2008 1:36 pm

Có vài lỗi như:
- Đối tượng stmp ở đâu ra ?
- Encoding ở đâu ra ?
Có thể dùng cách sau:
thay đoạn

Mã: Chọn hết

  1. SmtpClient SmtpMail = new SmtpClient(smtp, 25);

bằng

Mã: Chọn hết

  1. SmtpClient SmtpMail = new SmtpClient("gsmtp183.google.com");

ở đây là server smtp của GMail
danh sách các SmtpServer cho từng dịch vụ mail:

Yahoo Mail
    mx1.mail.yahoo.com
    mx2.mail.yahoo.com
    mx3.mail.yahoo.com
    mx4.mail.yahoo.com
HotMail
    mx1.hotmail.om
    mx2.hotmail.com
    mx3.hotmail.com
    mx4.hotmail.com
Gmail
    gsmtp183.google.com
    gsmtp163.google.com
    gmail-smtp-l.google.com
    alt2.gmail-smtp-in.l.google.com
    alt1.gmail-smtp-in.l.google.com
    gsmtp171.google.com [64.233.171.27]
    gsmtp171-2.google.com [ 64.233.171.114]
    gsmtp185.google.com [64.233.185.27]
    gsmtp185-2.google.com [ 64.233.185.114]
    gsmtp163.google.com [64.233.163.27]

Không cần dùng dòng msg.BodyEncoding = Encoding.Unicode; đâu, gởi bằng .NET thì tự nó định dạng
Nếu muốn send mail dạng HTML thì thêm vô 1 dòng

Mã: Chọn hết

  1. msg.IsBodyHtml = true;


---------------------------------------------

Gởi mail bằng code cỡ 5 lần thì bị chặn IP luôn :|
:|

Đặng Việt Trung
Thành viên chính thức
Thành viên chính thức
Bài viết: 19
Ngày tham gia: T.Ba 13/06/2006 5:26 pm
Đến từ: Hà Nội
Liên hệ:

Re: Gửi mail trong .net

Gửi bàigửi bởi Đặng Việt Trung » T.Bảy 29/03/2008 6:33 pm

smtp là cái bạn phải điền vào tùy hòm thư. Đã chú thích bên cạnh

Hình đại diện của người dùng
phstiger
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 88
Ngày tham gia: T.Năm 27/03/2008 12:20 pm

Re: Gửi mail trong .net

Gửi bàigửi bởi phstiger » T.Sáu 11/04/2008 2:23 pm

Code trên chuyển sang VB.NET thì viết thế nào vậy các Bác ?
(¯¯`·.¸ www.banbevn.us ¸.·´¯¯)

Hình đại diện của người dùng
anhtuyenbk
Guru
Guru
Bài viết: 1311
Ngày tham gia: T.Năm 22/09/2005 4:12 pm
Đến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 time

Re: Gửi mail trong .net

Gửi bàigửi bởi anhtuyenbk » T.Sáu 11/04/2008 2:28 pm

phstiger đã viết:Code trên chuyển sang VB.NET thì viết thế nào vậy các Bác ?

Lên net search "convert Vb.net to C# " (tất nhiên là nó bao gồm luôn cả chiều ngược lại) đầy ra đó.
Kiếm cơm cho qua ngày tháng
https://www.facebook.com/pinduphongpisenchinhhang

Hình đại diện của người dùng
hdn
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 319
Ngày tham gia: T.Tư 26/03/2008 7:09 pm
Has thanked: 1 time
Been thanked: 4 time

Re: Gửi mail trong .net

Gửi bàigửi bởi hdn » T.Sáu 11/04/2008 3:01 pm

Mã: Chọn hết

  1.  
  2. Imports System.Net.Mail
  3. Public  Sub Send()
  4.             Dim email As String = "Email của bạn"  'VD : dviettrung185@yahoo.com.vn
  5.             String pass="Password của bạn" 'VD : 123456
  6.             String user="Username" 'VD : dviettrung185
  7.             Dim msg As MailMessage =  New MailMessage(email,email)
  8.             msg.BodyEncoding = Encoding.Unicode
  9.             msg.Body = "Noi dung thu"
  10.             msg.Subject = "Tieu de thu"
  11.             Dim SmtpMail As SmtpClient =  New SmtpClient(smtp,25)  'smtp : Điền smtp hòm thư của bạn vào. Nếu bạn dùng Yahoo thì điển smtp.mail.yahoo.com(.vn) ; Nếu 25 ko gửi được, bạn có thể điền thử 465
  12.             SmtpMail.Credentials = New System.Net.NetworkCredential(user, pass)
  13.             Try
  14.                 SmtpMail.Send(msg)
  15.                 MessageBox.Show("Quá trình gửi thành công. Cảm ơn bạn đã đóng góp ý kiến cho chương trình","Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information)
  16.                 Application.DoEvents()
  17.             Catch
  18.                  MessageBox.Show("Có lỗi trong quá trình gửi", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)
  19.             End Try
  20. End Sub
  21.  
:|

Hình đại diện của người dùng
phstiger
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 88
Ngày tham gia: T.Năm 27/03/2008 12:20 pm

Re: Gửi mail trong .net

Gửi bàigửi bởi phstiger » T.Hai 21/04/2008 10:18 pm

Cảm ơn bạn. Mình làm hoài vẫn không gửi được, có thể do SMTP chưa đúng.
Bạn nào làm được rồi cho mình xin cái SMTP chính xác của Gmail được không vậy.
Mình dùng thử nhiều smtp của gmail.com rồi
Ví dụ như
smtp.gmail.com
gmail.com MX preference = 50, mail exchanger = gsmtp147.google.com
gmail.com MX preference = 50, mail exchanger = gsmtp183.google.com
gmail.com MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com

Dùng cả port 465 và 995 nhưng vẫn không được
Nếu mình dùng SMTP của Yahoo mà sử dụng Acc của gmail có gửi mail được không vậy mấy bạn?
Ai làm được rồi, cho xin cái smtp chĩnh xác với.
Mình nghe phông phanh là Yahoo và Gmail đã đổi chế độ chuyển sang pop before smtp rồi phải ko các bạn. (tức là có auth, phải login vào mail trước rồi mới dùng smtp được)
Thanks
(¯¯`·.¸ www.banbevn.us ¸.·´¯¯)

Hình đại diện của người dùng
hdn
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 319
Ngày tham gia: T.Tư 26/03/2008 7:09 pm
Has thanked: 1 time
Been thanked: 4 time

Re: Gửi mail trong .net

Gửi bàigửi bởi hdn » T.Ba 22/04/2008 1:13 pm

Mấy cái stmp trên kia đều đc cả bạn à :| acc Y! thì chỉ xài stmp Y! thôi, ko xài qua GMail đc
cách này nếu gửi liên tục sẽ ko gửi đc
nó có báo lỗi gì không?
:|

Hình đại diện của người dùng
phstiger
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 88
Ngày tham gia: T.Năm 27/03/2008 12:20 pm

Re: Gửi mail trong .net

Gửi bàigửi bởi phstiger » T.Tư 23/04/2008 10:22 pm

Mình chạy thử đoạn code của bác hdn nhưng nó không chạy được. Toàn báo "Có lỗi trong quá trình gửi"
(¯¯`·.¸ www.banbevn.us ¸.·´¯¯)

Hình đại diện của người dùng
hdn
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 319
Ngày tham gia: T.Tư 26/03/2008 7:09 pm
Has thanked: 1 time
Been thanked: 4 time

Re: Gửi mail trong .net

Gửi bàigửi bởi hdn » T.Năm 24/04/2008 12:46 pm

rứa là có 2 trường hợp, 1 là lỗi do mạng hay cái gì đại loại thế, bạn thử bỏ bẫy lỗi try catch xem nó báo lỗi gì khi gửi
trường hợp 2 là code sai do chuyển từ C# sang VB.NET (mình xài tool convert online :D)
:|

Hình đại diện của người dùng
phstiger
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 88
Ngày tham gia: T.Năm 27/03/2008 12:20 pm

Re: Gửi mail trong .net

Gửi bàigửi bởi phstiger » T.Sáu 25/04/2008 2:15 pm

Mình đã dùng thử đoạn code trên nhưng vẫn báo lỗi tại dòng: "SmtpMail.Send(msg)"

Mã: Chọn hết

  1.  
  2. Imports System.Net.Mail
  3. Imports System.Text
  4. '----------------------
  5.         Dim email As String = "phstiger@gmail.com"
  6.         Dim pass As String = "mypassword"
  7.         Dim user As String = "phstiger"
  8.         Dim msg As MailMessage = New MailMessage(email, email)
  9.         msg.BodyEncoding = Encoding.Unicode
  10.         msg.Body = "Noi dung thu"
  11.         msg.Subject = "Tieu de thu"
  12.         Dim SmtpMail As SmtpClient = New SmtpClient("gsmtp147.google.com", 465)  ' f.mx.mail.yahoo.com : 25 hoac ....
  13.         SmtpMail.Credentials = New System.Net.NetworkCredential(user, pass)
  14.         SmtpMail.Send(msg)
  15.         MessageBox.Show("Quá trình gửi thành công. Cảm ơn bạn đã đóng góp ý kiến cho chương trình", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information)
  16.         Application.DoEvents()
  17.  

Mình đã dùng chương trình SC-KeyLog để test SMTP trên nhưng nó không gửi được (lúc trước lâu rùi khỏang 1 năm thì mình gừi được) :-?
(¯¯`·.¸ www.banbevn.us ¸.·´¯¯)

Đặng Việt Trung
Thành viên chính thức
Thành viên chính thức
Bài viết: 19
Ngày tham gia: T.Ba 13/06/2006 5:26 pm
Đến từ: Hà Nội
Liên hệ:

Re: Gửi mail trong .net

Gửi bàigửi bởi Đặng Việt Trung » CN 27/04/2008 9:53 am

Bạn có thể cấu hình trong Outlook sao cho gửi được rùi điền vào đoạn code trên các thông số tương tự. Các bài gửi và nhận mail trong outlook thì đầy trên mạng đó. Ngoài ra hình như cái này chỉ dùng được với .net 2.0

mistrylen
Thành viên chính thức
Thành viên chính thức
Bài viết: 36
Ngày tham gia: T.Bảy 11/09/2010 10:16 am
Been thanked: 3 time

Re: Gửi mail trong .net

Gửi bàigửi bởi mistrylen » T.Hai 19/12/2011 4:57 pm

Gửi các bạn,
Kịch bản của App của tôi như sau:
- Client A gửi e-mail kèm attachment là 1 file data qua e-mail lên mail exp@exp.com với subject là một mã nhận diện (ví dụ AD123).
- Client B sẽ lấy e-mail với subject là AD123, down attachment xuống rồi đọc file này.

-------------------------
Các bạn có thể hướng dẫn tôi cách send/down attachment kèm e-mail xuống được không. Và làm như thế nào để biết attachment đã down hoàn thành (để có thể đọc được). Cả việc lọc chỉ lấy e-mail với subject cụ thể nữa.
Cảm ơn các bạn.

hoang_tuanit
Bài viết: 3
Ngày tham gia: T.Bảy 27/03/2010 12:05 am

Re: Gửi mail trong .net

Gửi bàigửi bởi hoang_tuanit » T.Sáu 14/06/2013 4:57 pm

Hướng dẫn code gửi mail hàng loạt bằng vb.net nè
http://123quangcao.net/Articles/1/CODE- ... TRONG-,NET


Quay về “[.NET] Mẹo vặt khác”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.0 khách