NEW Nmail PHP 3 업그레이드 할인
자세히 보기

smtp 인증으로 메일을 보내면.. 내용이 없이 옵니다.

김*영 2006.11.10 14:33 조회 6399

아래 프로그램 소스인데..

이상하게 제목이랑 다 나오는대 내용만 빼놓고 옵니다.

서버쪽 문제일까요?


# SMTP 서버를 이용하여 메일을 전송하는 프로그램... *^^*
#---------------------------------------------------------------------#
require "./cgi_lib/load_charset.cgi";
require "./cgi_lib/load_css.cgi";

use Socket;

sub sendmail_smtp {
my ($from, $to, $smtp, $subject, $message) = @_;
my ($fromaddr) = $from;

# $to 에서 메일주소만 추출... ?
$to =~ s/.*<([^\s]*?)>/$1/;

$fromaddr =~ s/.*<([^\s]*?)>/$1/;
$message =~ s/^\./\.\./gm;
$message =~ s/\r\n/\n/g;
$message =~ s/\n/\r\n/g;
$smtp =~ s/^\s+//g;
$smtp =~ s/\s+$//g;

if (!$to) { return -8; }

my ($proto) = (getprotobyname('tcp'))[2];
my ($port) = (getservbyname('smtp', 'tcp'))[2];

my ($smtpaddr) = ($smtp =~ /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) ? pack('C4', $1, $2, $3, $4) : (gethostbyname($smtp))[4];
if (!defined($smtpaddr)) { return -1; }
if (!socket(S, AF_INET, SOCK_STREAM, $proto)) { return -2; }
if (!connect(S, pack('Sna4x8', AF_INET, $port, $smtpaddr))) { return -3; }
my ($oldfh) = select(S);
$| = 1;
select($oldfh);

$_ = <S>; if(/^[45]/) {close S; return -4; }

print S "helo localhost\r\n";
$_ = <S>; if(/^[45]/) {close S; return -5; }

print S "mail from: <$fromaddr>\r\n";
$_ = <S>; if(/^[45]/) {close S; return -5; }

foreach (split(/, /, $to)) {
print S "rcpt to: <$_>\r\n";
$_ = <S>; if(/^[45]/) { close S; return -6; }
}

print S "data\r\n";
$_ = <S>; if(/^[45]/) { close S; return -5; }

my $charset = &load_charset("$CONF{'lang'}");
my $css = &load_css("$CONF{'html_skin'}");

print S "To: $to\r\n";
print S "From: $from\r\n";
print S "X-Mailer: SPBOARD-PRO SMTP MAILER\r\n";
print S "Subject: $subject\r\n";
print S "Content-Type: text/html; charset=$charset\r\n";
print S "$css";
print "Content-type:text/html\n\n";
print "$from, $to, $smtp, $subject, $message";
exit;
print S "$message";
print S "\r\n.\r\n";

$_ = <S>; if(/^[45]/) { close S; return -7; }

print S "quit\r\n";
$_ = <S>;

close S;

return 1;
}

return 1;

댓글 3
이전 글 문의 2 오*영 2006.11.10
다음 글 처음 설치 했는데... 에러가 납니다.. 3 무* 2006.11.09