Problem with Yun Shield connecting to SMTP mail

Folks,
I used the following code successfully to send SMTP mail via Ethernet Shield. I tried to modify it as you see below to run via wireless on my YUN Shield.
The Console indicates that I am "connected". I receive the prompt to enter "e" and I see the message "Now Sending Hello" which was Inserted for testing. 
But that is the last thing I see. It appears either to hang or communication with the Console stops somehow. Here are a couple questions which might help to bring about an answer ....
1) Notice that YUN Client and YUN Server came into the #include's when I included the #Bridge. I wonder if they are appropriate here for the YUN "Shield".
2) I may very well have some ETHERNET code in there which should be switched over for Wifi. Do you seen any?
3) Do I need more delay()'s to keep the connection happening?
4) Do pinMode (4,HIGH) and pinMode (10, HIGH) apply to the YUN Shield? Are they correctly used here? 
5) I can't seem to find a Baudrate setting which doesn't result in double-echoing on the Console - does anyone know how to configure RealTerm for this purpose? 
 Anything else obvious to you?

#include <Bridge.h>
#include <Console.h>
#include <FileIO.h>
#include <HttpClient.h>
#include <Mailbox.h>
#include <Process.h>
#include <YunClient.h>
#include <YunServer.h>
#include <SPI.h>
/*
   Email Client sketch for IDE v1.0.1 and w5100/w5200
   Posted December 2012 by SurferTim
*/

byte mac[] = { 0x--, 0x--, 0x--, 0x--, 0x--, 0x-- };  
// change network settings to yours
IPAddress ip( 192, 168, 1, xxx );    
IPAddress gateway( 192, 168, 1, 1 );
IPAddress subnet( 255, 255, 255, 0 );

// change server to your email server ip or domain
//IPAddress server( 1, 2, 3, 4 );
char server[] = "xxx.xxx.ca";

YunClient Client;

void setup()
{
pinMode(10, OUTPUT);
pinMode(4, OUTPUT);
digitalWrite(10, HIGH);
digitalWrite(4,HIGH);

Bridge.begin();
delay(2000);

Console.begin();
Console.println("Ready. Press 'e' to send.");
delay(2000);}

void loop()
{
  byte inChar;

  inChar = Console.read();

  if(inChar == 'e')
  {
      if(sendEmail()) Console.println("Email sent");
      else Console.println("Email failed");
  }
}

byte sendEmail()
{
  byte thisByte = 0;
  byte respCode;

if(Client.connect(server,25) == 1) {
Console.println("connected");
} else {
 Console.println("connection failed");
return 0;
}
Console.println ("Now sending hello"); <---------------------
  if(!eRcv()) return 0;
  Console.println("Sending helo");

// change to your public ip
  Client.println("helo xx.xxx.xx.xx");

  if(!eRcv()) return 0;
  Console.println("Sending From");

// change to your email address (sender)
  Client.println("MAIL From: <xxx@XXX.ca>");

  if(!eRcv()) return 0;

// change to recipient address
  Console.println("Sending To");
  Client.println("RCPT To: <xxx.ca>");

  if(!eRcv()) return 0;

  Console.println("Sending DATA");
  Client.println("DATA");

  if(!eRcv()) return 0;

  Console.println("Sending email");

// change to recipient address
  Client.println("To: You <xxx.ca>");

// change to your address
  Client.println("From: Me <xxx.ca>");

  Client.println("Subject: email test\r\n");

  Client.println("This is a test!");

  Client.println(".");

  if(!eRcv()) return 0;

  Console.println("Sending QUIT");
 Client.println("QUIT");

  if(!eRcv()) return 0;

  Client.stop();

  Console.println("disconnected");

  return 1;
}

byte eRcv()
{
  byte respCode;
  byte thisByte;
  int loopCount = 0;

  while(!Client.available()) {
    delay(1);
    loopCount++;

    // if nothing received for 10 seconds, timeout
    if(loopCount > 10000) {
      Client.stop();
      Console.println("\r\nTimeout");
      return 0;
    }
  }

  respCode = Client.peek();

  while(Client.available())
  {  
    thisByte = Client.read();    
    Console.print(thisByte);
  }

  if(respCode >= '4')
  {
    efail();
    return 0;  
  }

  return 1;
}


void efail()
{
  byte thisByte = 0;
  int loopCount = 0;

Client.println("QUIT\r\n");

  while(!Client.available()) {
    delay(1);
    loopCount++;

    // if nothing received for 10 seconds, timeout
    if(loopCount > 10000) {
      Client.stop();
      Console.println("\r\nTimeout");
      return;
    }
  }

  while(Client.available())
  {  
    thisByte = Client.read();    
    Console.println(thisByte);
  }

//Client.stop();

  Console.println("disconnected"); 
}

This post is now closed. I resolved my issue by bridging the two pins on the Arduino board. This was recommended in the documentation but it didn't sink in. I'm afraid I learned the hard way.

Also, I learned where to use Console.write and where to use Console.print. I also resolved an apparent duplicate echoing on the serial monitor which was caused by poorly written code allowing execution to fall through to a second Console.write where it should not have done that.

Thanks for your interest!