Mail Using SMTP Problem

Hi,

    Please help me to resolve the following issue. When i am running
following script after filling all required parameters like mail ID,
SMTP server and port number etc. I am getting follwoing errors, please
tell me the reason of errors.

    msgstr = <<END_OF_MESSAGE

···

From: Your Name <your@mail.address>
    To: Destination Address <someone@example.com>
    Subject: test message
    Date: Sat, 23 Jun 2001 16:26:43 +0900
    Message-Id: <unique.message.id.string@example.com>

    This is a test message.
    END_OF_MESSAGE

    require 'net/smtp'
    Net::SMTP.start('your.smtp.server', 25) do |smtp|
      smtp.send_message msgstr,
                        'your@mail.address',
                        'his_addess@example.com'
    end

Errors:

testmail.rb:16: can't find string "END_OF_MESSAGE" anywhere before EOF
testmail.rb:1: syntax error, unexpected $end, expecting tSTRING_CONTENT
or tSTRI
NG_DBEG or tSTRING_DVAR or tSTRING_END

Regards:
Dhiraj

--
Posted via http://www.ruby-forum.com/.

Dhiraj Girdhar wrote:

    msgstr = <<END_OF_MESSAGE
    From: Your Name <your@mail.address>

    This is a test message.
    END_OF_MESSAGE

testmail.rb:16: can't find string "END_OF_MESSAGE" anywhere before EOF
testmail.rb:1: syntax error, unexpected $end, expecting tSTRING_CONTENT
or tSTRI
NG_DBEG or tSTRING_DVAR or tSTRING_END

Remove the spaces from in front of the second 'END_OF_MESSAGE'. The end
of a heredoc string has to be right at the start of the line.

Alternatively at the start of the heredoc do:
  msgstr = <<-END_OF_MESSAGE
which allows the end of the heredoc to be indented.

best,
Dan

···

--
Posted via http://www.ruby-forum.com/\.

Daniel Lucraft wrote:

Dhiraj Girdhar wrote:

    msgstr = <<END_OF_MESSAGE
    From: Your Name <your@mail.address>

    This is a test message.
    END_OF_MESSAGE

testmail.rb:16: can't find string "END_OF_MESSAGE" anywhere before EOF
testmail.rb:1: syntax error, unexpected $end, expecting tSTRING_CONTENT
or tSTRI
NG_DBEG or tSTRING_DVAR or tSTRING_END

Remove the spaces from in front of the second 'END_OF_MESSAGE'. The end
of a heredoc string has to be right at the start of the line.

Alternatively at the start of the heredoc do:
  msgstr = <<-END_OF_MESSAGE
which allows the end of the heredoc to be indented.

best,
Dan

Thanks Dan, it is working.

Regards:
Dhiraj

···

--
Posted via http://www.ruby-forum.com/\.