Tôi không muốn sử dụng sendmail để gửi email nhưng muốn sử dụng SMTP. Tôi có thể sử dụng Perl để gửi email đến tài khoản GMAIL của mình bằng cách nào?Làm cách nào để gửi email đến tài khoản Gmail của tôi bằng SMTP và Perl?
Trả lời
cá nhân Tôi khuyên bạn nên sử dụng mô-đun của tôi Email::Send::SMTP::TLS hoạt động khá tốt thông qua TLS của Google Mail .
Cảm ơn.
use Email::Send;
my $mailer = Email::Send->new({
mailer => 'SMTP::TLS',
mailer_args => [
Host => 'smtp.gmail.com',
Port => 587,
User => '[email protected]',
Password => 'password',
Hello => 'fayland.org',
]
});
use Email::Simple::Creator; # or other Email::
my $email = Email::Simple->create(
header => [
From => '[email protected]',
To => '[email protected]',
Subject => 'Subject title',
],
body => 'Content.',
);
eval { $mailer->send($email) };
die "Error sending email: [email protected]" if [email protected];
Có các mô-đun SMTP muliple trên CPAN, ví dụ: Net::ESMTP. Ngoài ra, sendmail rất có thể không sử dụng SMTP để giao tiếp với các máy chủ thư, vậy lý do thực sự của bạn cho việc không muốn sử dụng nó là gì?
Nếu bạn không quen thuộc với CPAN (Mạng lưu trữ Perl toàn diện), tôi khuyên bạn nên đánh dấu trang đó. Nó chứa các thư viện của bên thứ ba (chủ yếu là được thử nghiệm tốt).
Một ví dụ cho thấy làm thế nào để gửi email bằng perl: http://www.perlfect.com/articles/sendmail.shtml
OP cho biết: "Tôi không muốn sử dụng sendmail" – jfs
Theo bình luận, nó không phải là rõ ràng nếu bạn muốn gửi email thông qua SMTP của Google, hoặc chỉ cần gửi email nói chung (có lẽ vào tài khoản gmail của bạn) . Bạn nên kiểm tra Email::Send và có thể Email::Send::Gmail.
Ngoài ra, nếu những gì bạn thực sự hỏi là làm cách nào để di chuyển email từ đâu đó không phải Gmail sang Gmail, tôi đã có may mắn với IMAP sử dụng Mail::Box và phụ trợ Mail::Box::IMAP4::SSL. Bạn có thể xem ví dụ về sử dụng here.
Email :: Gửi gần đây đã bị từ chối vì lợi ích của Email :: Người gửi –
Tôi tình cờ sử dụng MIME::Lite
, đây là trình bao bọc xung quanh Net::SMTP
để đơn giản hóa quá trình xây dựng các đối tượng email, tệp đính kèm và gửi tải trọng.
Nếu bạn không quen thuộc với việc cài đặt mô-đun, kiểm tra:
Trên Windows, sử dụng ActiveState Perl Package Manager (trong menu start)
Trên Unix, sử dụng CPAN: $ sudo cpan Module::Name
On tài khoản Unix được lưu trữ: How can I install a CPAN module into a local directory?
Tôi đã luôn sử dụng và có may mắn rất tốt với Mail::Sender.
Thư :: Người gửi là nội dung hay. – daotoad
Một khả năng khác mà bạn có thể muốn xem là sử dụng mô-đun Email::Send::Gmail từ CPAN. Điều này sẽ cho phép bạn gửi email từ tài khoản Gmail của bạn tới bất kỳ tài khoản nào (ví dụ: cho chính bạn)
Nếu bạn không thích sendmail, một tùy chọn khác là sử dụng Postfix, một MTA khác.
Dưới đây là các hướng dẫn tôi theo sau để có được nó thiết lập trên máy tính của tôi, sử dụng gmail: http://souptonuts.sourceforge.net/postfix_tutorial.html
này có thể có ích quá, nếu bạn nhận được một cảnh báo về thất bại trong việc xác minh một chứng chỉ từ Thawte Premium Server CA. http://ubuntuforums.org/archive/index.php/t-894355.html
Email::Send (như được sử dụng trong câu trả lời Fayland Lâm) bị phản đối:
Email :: Gửi đi xa ... tốt, không thực sự đi xa, nhưng nó được chính thức đánh dấu "ra khỏi ủng hộ."
này làm việc cho tôi, bằng cách sử dụng Email ưa thích :: Tên người gửi:
use strict;
use warnings;
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTPS();
use Email::Simple();
use Email::Simple::Creator();
my $smtpserver = 'server';
my $smtpport = 587;
my $smtpuser = 'username';
my $smtppassword = 'password';
my $transport = Email::Sender::Transport::SMTPS->new({
host => $smtpserver,
port => $smtpport,
ssl => "starttls",
sasl_username => $smtpuser,
sasl_password => $smtppassword,
});
my $email = Email::Simple->create(
header => [
To => '[email protected]',
From => '[email protected]',
Subject => 'Hi!',
],
body => "This is my message\n",
);
sendmail($email, { transport => $transport });
- 1. CakePHP-2.0: Làm cách nào để gửi email từ tài khoản gmail bằng cài đặt CakEmail và SMTP?
- 2. Gửi email đến tài khoản yahoo
- 3. Chương trình Java của tôi đã ngừng gửi email bằng Tài khoản gmail của tôi
- 4. gửi thư đến tài khoản Gmail
- 5. lua gửi thư bằng tài khoản gmail
- 6. máy chủ gửi email bằng gmail smtp nhận cảnh báo
- 7. Tôi làm cách nào để làm việc với/xung quanh các giới hạn gửi đi SMTP của Gmail?
- 8. XAMPP Sendmail bằng tài khoản Gmail
- 9. Làm cách nào để nhận thông báo đẩy từ tài khoản Gmail của tôi?
- 10. Cách triển khai API OAuth của Gmail để gửi email (đặc biệt qua SMTP)?
- 11. Làm cách nào để gửi email qua smtp bằng gem gem của Ruby?
- 12. Tôi làm cách nào để gửi thư qua Gmail với Perl?
- 13. Làm cách nào để gửi email bằng ứng dụng Java bằng Gmail, Yahoo hoặc Hotmail?
- 14. Gửi email qua gmail smtp server trong JAVA
- 15. Gửi email bằng System.Net.Mail qua gmail
- 16. Sử dụng SMTP, Gmail và STARTTLS
- 17. Cách định cấu hình WAMP (localhost) để gửi email bằng Gmail?
- 18. Làm cách nào để gửi tệp đính kèm bằng SMTP?
- 19. Gửi email bằng Gmail trong android
- 20. Gửi email qua java trong tài khoản gmail có xác thực hai chiều
- 21. Định cấu hình MantisBT để gửi email bằng cách sử dụng GMail
- 22. đạt đến giới hạn hàng ngày của Gmail SMTP
- 23. iphone để gửi email bằng cách sử dụng máy chủ SMTP?
- 24. Gửi email bằng OAuth
- 25. làm cách nào tôi có thể gửi email json + ld schema.org tới chính tôi trong gmail
- 26. Ứng dụng của tôi cần gửi email, tôi nên lưu trữ mật khẩu SMTP ở đâu và như thế nào?
- 27. Gửi thư qua gmail bằng Gửi-MailMessage của PowerShell V2
- 28. Cách ứng dụng Meteor của tôi với gói tài khoản không gửi email xác minh?
- 29. Làm cách nào để gửi/nhận (SMTP/POP3) email bằng R?
- 30. Đường ray: Gửi email qua Gmail trong sản xuất
tôi không thực sự có được câu hỏi: Bạn có muốn nói chuyện trực tiếp với máy chủ SMTP của Google? Hay của riêng bạn? Có điều gì đặc biệt về gmail về câu hỏi này không? – innaM